bonjour à tous,
contexte :
J'utilise la version 5.6.
Mon application est un "éditeur de monde" : les objets sont différents d'un monde à l'autre d'où la nécessité de gérer les propriétés de certains objets à la volée.
Je souhaite ajouter par un script un halo à certains objets pour les "illuminer" à certains moments (objets collectables).
J'aimerai ajouter le component (qui est en fait un behaviour) Halo par script.
Quand je l'ajoute à un objet j'arrive à y accéder via cette ligne : halo = (Behaviour)gameObject.GetComponent("Halo");
je ne peux utiliser AddComponent("string") : deprecated function et la fonction addComponent<TYPE> n'accepte pas le type Halo.
Avant de me résigner à ajouter le composant à tous mes objets je pose la question/pb ici.
[MY] acces au component (behaviour) Halo
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
- boubouk50
- ModoGenereux
- Messages : 6216
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY] acces au component (behaviour) Halo
Qu'est-ce-que ce component? Une classe de toi? Je ne la vois pas dans la doc.
Aussi, tu ne peux plus utiliser cette variante de AddComponent () (Obsolete cf Doc), il te faut utiliser:
public Component AddComponent (Type componentType) ou public T AddComponent().
Aussi, tu ne peux plus utiliser cette variante de AddComponent () (Obsolete cf Doc), il te faut utiliser:
public Component AddComponent (Type componentType) ou public T AddComponent().
Code : Tout sélectionner
MonGameObject.AddComponent <Halo> ();
//ou
MonGameObject.AddComponent (typeof Halo) as Halo;
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [MY] acces au component (behaviour) Halo
Si jamais une autre solution toute bête est simplement de te créer un prefab qui contient ton halo, et de l'instancier en enfant de ton object .
Dans certain cas il est plus simple de contourner le problème !
Bon si la solution de Boubouk50 fonctionne c'est bien sur plus optimisé mais il me semble qu'on ne peux pas faire de AddComponent<Halo>(); ça me rappel quelque chose .
Dans certain cas il est plus simple de contourner le problème !
Bon si la solution de Boubouk50 fonctionne c'est bien sur plus optimisé mais il me semble qu'on ne peux pas faire de AddComponent<Halo>(); ça me rappel quelque chose .
Re: [MY] acces au component (behaviour) Halo
la solution de boubouk est malheureusement la solution standard pour un ajout de component, ça ne fonctionne pas dans mon cas.
Peut etre que le passage en 2017 règlera mon pb, je crois qu ils ont prévu de remettre l appel d AddCOmponent avec une string, de toute façon ce behaviour/component n'est pas des plus facile à manipuler.
Ta solution, roots, a le mérite de régler le pb mais du coup le halo ne s adaptera pas à l objet. Je vais ajouter manuellement mon halo et l'activer ou le désactiver en fonction de mes besoins, ça, ça amarche ^^
merci de votre retour rapide, le temps nous donnera peut etre la solution.
Peut etre que le passage en 2017 règlera mon pb, je crois qu ils ont prévu de remettre l appel d AddCOmponent avec une string, de toute façon ce behaviour/component n'est pas des plus facile à manipuler.
Ta solution, roots, a le mérite de régler le pb mais du coup le halo ne s adaptera pas à l objet. Je vais ajouter manuellement mon halo et l'activer ou le désactiver en fonction de mes besoins, ça, ça amarche ^^
merci de votre retour rapide, le temps nous donnera peut etre la solution.
- boubouk50
- ModoGenereux
- Messages : 6216
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY] acces au component (behaviour) Halo
Avec ces versions qui nécessitent un Type, je pense qu'il faut faire quelque chose pour la classe soit prise en compte comme Type. Quoi exactement, je ne sais pas, mais ça doit bien se faire. En allant chercher le type peut-être:
Code : Tout sélectionner
myGameObject.AddComponent(Type.GetType("Halo"));
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation