Page 1 sur 1

[DB - AL] Activer / désactiver avec SetActive

Publié : 30 Oct 2019 23:49
par vertigo13
Bonjour,

j'essaie un script permettant de désactiver un objet en appuyant sur une touche, idem pour le désactiver.
Donc je suis dans la fonction update:

Code : Tout sélectionner

		
		
if (Input.GetKeyDown (KeyCode.H))
{
	gameObject.SetActive(false);
}
		
if (Input.GetKeyDown (KeyCode.N))
{
	gameObject.SetActive(true);
}
SetActive marche bien avec false, l'objet disparait, mais ne revient pas avec true.
Je ne sais pas si je me sers mal de SetActive ou s'il faut chercher une autre manière de faire.

Re: [DB - AL] Activer / désactiver avec SetActive

Publié : 30 Oct 2019 23:54
par Max
Bonsoir,

Là tu désactives le gameObject lui même, avec ses components, et donc le script.
Quand tu fais le gameObject.SetActive(false);, ton GO n'est plus actif et du coup le script non plus, donc aucune chance pour que tu puisses voir l'action sur la touche N produire quoique ce soit.

Re: [DB - AL] Activer / désactiver avec SetActive

Publié : 31 Oct 2019 16:17
par EmileF
Salut

Si tu veux désactiver complètement l'objet, tu mets ton script sur un empty et ton objet à désactiver comme enfant de l'empty. Tu pourra ainsi activer ou désactiver ton objet comme tu voudras sans désactiver le script.

si tu ne veux que cacher le gameobject tu peux agir l'Enabled du composant <MeshRenderer> pour le rendre visible ou invisible sans désactiver le script