0
votes

Comment être activé à nouveau dans l'unité

J'ai créé un point à la suite de ma souris autour de 2D et j'ai créé une position de changement d'objet cube sur x et y. Maintenant, lorsque je pointe ma souris sur le cube, il désactive que je définissais cela, et maintenant je veux l'activer à nouveau. J'essaie sur la sortie de la gâchette, mais cela n'a pas fonctionné. XXX


0 commentaires

5 Réponses :


2
votes

Une fois inactif, les scripts de cet objet ne sont pas exécutés plus #> messages tels que Ontriggerexit ne sont pas appelés / exécutés.

Une solution consiste simplement à envelopper l'objet cible dans un objet parent et à joindre votre script au parent au lieu de le faire (DE) activez l'enfant.

Le parent reste donc actif et reçoit le message.


1 commentaires

En tant qu'additaire, tout script avec une référence à ce jeu peut activer / la désactiver. La stratégie des parents est un très bon moyen de le faire.



0
votes

Lorsqu'un gameObject est pas actif dans l'unité, Vous ne pouvez pas cliquer dessus (pas de rendu, sans collision, rien)

Mais, vous pouvez créer un clavier ( nouveau script ou dans un autre script ), qui peut le régler à actif, s'il n'est pas actif.


0 commentaires

0
votes

GameObject public Go;

utiliser go.setactive (true); tandis que GameObject est l'objet à utiliser pour définir la chose ou l'objet spécifique qui doit être actif et que tout le code doit être écrit dans la méthode «SpawneMytimetime» afin qu'il puisse être actif après la période spécifique


0 commentaires

1
votes

Je vais simplement répéter ce que tout le monde ici a dit:

Un objet inactif dans l'unité est véritablement inactif , ce qui signifie qu'il ne reçoit aucune mise à jour, ne peut pas entrer en collision avec des trucs et tous Les trucs monobéhaviennes qui appellent généralement que votre code ne fonctionne pas non plus. Vous devez réactiver manuellement l'objet en utilisant une référence que vous avez mis en cache quelque part.

mais , au lieu de simplement sortir de l'objet entier, vous pouvez désactiver les composants que vous ne voulez pas Pour être actif.

Exemple: xxx

Ceci ne désactive que votre composant de rendu mais laisse tout le reste tel qu'il est. Donc, votre objet peut toujours entrer en collision et il est toujours enregistré via E.G. ONTRIGGEREXIT .

Gardez à l'esprit que GetComponent () est une opération assez coûteuse en mettant ainsi en cache votre composant références est une bonne idée. La meilleure solution serait de commencer avec une référence en créant une variable pour elle et en l'affectant dans l'inspecteur.

exemple: xxx


0 commentaires

0
votes

Vous pouvez simplement utiliser un jeu vide et obtenir une référence l'objet que vous souhaitez activer / désactiver. Si vous obtenez la référence avant de le désactiver, vous pourrez l'activer à nouveau.

L'alternative est de faire ce que Tehmightypotato a dit. Désactiver les composants C'est en fait la meilleure façon de résoudre ce problème, mais si vous avez du lot de composants / sous-composants désactivez le gamebjects est plus rapide.


0 commentaires