L'unité/C# de Trouver l'objet et obtenir composante
Ce devrait être facile:
GameObject myCube = GameObject.Find("Cubey").GetComponent<GameObject>();
juste des coups de pied jusqu'erreur CS0309: Le type UnityEngine.GameObject doit être convertibles UnityEngine.Composant afin de l'utiliser comme paramètre T dans le générique du type ou de la méthode UnityEngine.GameObject.GetComponent()
Normalement les erreurs de l'Unité affiche sont utiles, mais c'est juste déroutant. Sont des cubes pas GameObjects? Tous les pointeurs serait appréciée (no pun intended).
Il est probable que les composants ne sont pas
GameObject
s - vous essayez d'affecter la valeur de GetComponent<T>
à GameObject
- vous voulez sûrement un GameComponent
ou Component
(ou quelque soit l'équivalent est dans l'Unité)OriginalL'auteur Ghoul Fool | 2014-02-26
Vous devez vous connecter pour publier un commentaire.
Une erreur facile, là.. trop de fois en fait 🙂
Je l'explique comme ceci:
GameObject est un type. Le type GameObject ne peut être associée avec des GameObjects ou des choses qui hérite de GameObject.
Le sens de ce qui est: Le GameObject variable ne peut pointer que des GameObjects et sous-classes de la GameObject. Le code vers le bas ci-dessous pointe vers un Composant qui est de type GameObject.
Le code dit "Trouver Cubey et le point à un GameObject attaché à Cubey".
Je suppose que comme déjà dit ci-dessus que le Composant que Vous recherchez n'est pas du type GameObject.
Si vous souhaitez la variable GameObject moncube à point à Cubey que vous pouvez faire:
Espoir qui aide toute personne venant sur ce post avec le même problème.
OriginalL'auteur Viking jonsson
GameObject
n'est pas un composant. UnGameObject
a un tas deComponent
s attaché à elle.Vous pouvez emporter le
GetComponent
appel et il suffit d'utiliser le résultat de votreFind("Cubey")
OriginalL'auteur Zach Thacker