L'unité C# Instanciation de préfabriqués et coulage de GameObject
Dans l'Unité avec le C#, j'essaie d'Instancier à partir d'un préfabriqué et affecter un script pour le nouvel objet. Pour ce faire, je crois que j'ai besoin d'avoir le nouvel objet jeté comme un GameObject. Cependant, le type de retour d'Instancier est UnityEngine.Objet
De l'Unité manuel:
public GameObject wreck;
...
void KillSelf () (
...
GameObject wreckClone = (GameObject) Instantiate(wreck, transform.position, transform.rotation);
Ceci, cependant, les résultats dans un InvalidCastException. Je l'ai vu mentionné sur ce forum pour essayer ceci à la place:
UnityEngine.Object uo = Instantiate(...
GameObject go = (GameObject)go;
Ceci, cependant, les résultats de la même exception.
J'ai vu certains postes, ce qui suggère en train de jeter avec:
...Instantiate(...) as GameObject;
Cette syntaxe n'est pas, cependant, semblent être pris en charge par le compilateur.
C'est assez déroutant. Je suis la copie de petits morceaux de code à partir de (sans doute correct) manuels et de dépassement de pile réponses, et n'a pas l'air de fonctionner.
Je ne suis pas sûr de ce que l'information serait nécessaire pour aider à résoudre cette énigme, il suffit donc de me demander ce dont vous avez besoin.
Pour l'instant j'ai essayé l'enregistrement de l'objet instancié avant d'essayer de le jeter. Il se présente comme ThrownFood(clone)(UnityEngine.transformer). Je ne sais pas pourquoi il dirait transformer si. Je n'ai rien en disant qu'il être jeté comme une transformation.
Vous devez vous connecter pour publier un commentaire.
Quelle est la version de l'Unité utilisez-vous? Ces deux exemples de la compilation pour moi:
Instancier renvoie ce que vous jetez dans.
Si vous jetez une poignée de transformation, il sera de retour d'une poignée de transformation. si vous jetez un objet de jeu, il sera de retour un objet de jeu. Vous semblez être en passant un jeu d'objet. Vous pouvez essayer de moulage d'un gameobject dans votre premier paramètre, comme ceci:
La réponse la plus simple à votre problème serait le GameObject de votre transformation avec la transformation.gameObject de commande comme suit:
Si le code ci-dessus ne fonctionne toujours erreur, vous pouvez choisir de redémarrer ou de réinstaller l'Unité comme c'est du code qui fonctionne.