[RÉSOLU]Prefab -> Objet : problème d'attribution d'un script
[RÉSOLU]Prefab -> Objet : problème d'attribution d'un script
Bonjour,
Mon problème est assez simple à comprendre mais j'ai du mal à le solutionner :
Quand le personnage (shipPlayer_1) de mon jeu est un prefab, je ne peux pas lui attribuer un script dans la case entourée en rouge :
Lorsque je run, un script fait spawn mon personnage qui est alors maintenant un objet (si j'ai bien compris) et je peux lui attribuer le script que je désir
Mais du coup, je clique sur pause et je lui attribue en cliquant sur le petit rond et je sélectionne le script en question.
Qu'est ce que je dois faire pour que cela se fasse tout seul ? c'est-à-dire que le script lui soit attribué dès que mon personnage spawn ?
Est-il possible de recréer la hiérarchie que j'ai fait avec
EnergyBar
->BackGround ( qui représente le cadre de ma barre d’énergie)
->Bar(qui représente la barre d’énergie même)
->->BarSprite
en tant que prefab ? De cettte façon je pourrai attribuer le script "EnergyBar" à mon shipPlayer_1 (prefab) et en spawnant le personnage aura le script attribué ?
Voici une image de "Project" et" hierarchy" avant et après le lancement du jeu
Bien à vous,
Bilu
Mon problème est assez simple à comprendre mais j'ai du mal à le solutionner :
Quand le personnage (shipPlayer_1) de mon jeu est un prefab, je ne peux pas lui attribuer un script dans la case entourée en rouge :
Lorsque je run, un script fait spawn mon personnage qui est alors maintenant un objet (si j'ai bien compris) et je peux lui attribuer le script que je désir
Mais du coup, je clique sur pause et je lui attribue en cliquant sur le petit rond et je sélectionne le script en question.
Qu'est ce que je dois faire pour que cela se fasse tout seul ? c'est-à-dire que le script lui soit attribué dès que mon personnage spawn ?
Est-il possible de recréer la hiérarchie que j'ai fait avec
EnergyBar
->BackGround ( qui représente le cadre de ma barre d’énergie)
->Bar(qui représente la barre d’énergie même)
->->BarSprite
en tant que prefab ? De cettte façon je pourrai attribuer le script "EnergyBar" à mon shipPlayer_1 (prefab) et en spawnant le personnage aura le script attribué ?
Voici une image de "Project" et" hierarchy" avant et après le lancement du jeu
Bien à vous,
Bilu
Dernière édition par Bilu le 27 Mars 2020 22:29, édité 1 fois.
Re: Prefab -> Objet : problème d'attribution d'un script
Je pense que tu ne peux pas parce que c'est un préfab justement, et non un objet.
En mode édit, tu devrai glisser ton préfab dans la scène, qui sera du coup un objet, lui assigner le script et ensuite en refaire un préfab.
Si ça ne fonctionne pas, tu devrais renseigner un variable script dans ton script qui instantie ton préfab, et modifier ce script pour qu'une foi instantié, il ajoute au player le script dans la variable souhaité.
Je suis peut être pas très clair, la journée à été longue déjà, lol
En mode édit, tu devrai glisser ton préfab dans la scène, qui sera du coup un objet, lui assigner le script et ensuite en refaire un préfab.
Si ça ne fonctionne pas, tu devrais renseigner un variable script dans ton script qui instantie ton préfab, et modifier ce script pour qu'une foi instantié, il ajoute au player le script dans la variable souhaité.
Je suis peut être pas très clair, la journée à été longue déjà, lol
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
Re: Prefab -> Objet : problème d'attribution d'un script
Bonjour djulio74,
Bien à toi,
Bilu
C'est justerment cela que j'aimerai faire mais je ne vois pas comment. Pourrais tu m'aider ?Si ça ne fonctionne pas, tu devrais renseigner un variable script dans ton script qui instantie ton préfab, et modifier ce script pour qu'une foi instantié, il ajoute au player le script dans la variable souhaité.
Bien à toi,
Bilu
Re: Prefab -> Objet : problème d'attribution d'un script
Bonsoir,
si tu met ton joueur (le prefab donc) sur la scène, tu peux (clic droit) choisir de "casser" ton prefab (Unpack). Tu devrais alors pourvoir affecter le script au joueur (un simple objet désormais), et une fois l'opération réalisée, en refaire un prefab.
si tu met ton joueur (le prefab donc) sur la scène, tu peux (clic droit) choisir de "casser" ton prefab (Unpack). Tu devrais alors pourvoir affecter le script au joueur (un simple objet désormais), et une fois l'opération réalisée, en refaire un prefab.
Re: Prefab -> Objet : problème d'attribution d'un script
Bonjour,
@jmhoubre, manqué ! Cela n'a pas fonctionné. Une fois redevenu un prefab le script se dissocie.
J'y croyais un peu quand même
Quelqu'un a une autre solution ?
Bilu
@jmhoubre, manqué ! Cela n'a pas fonctionné. Une fois redevenu un prefab le script se dissocie.
J'y croyais un peu quand même
Quelqu'un a une autre solution ?
Bilu
- boubouk50
- ModoGenereux
- Messages : 6212
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Prefab -> Objet : problème d'attribution d'un script
Les prefabs sont hors-scène, donc ne peuvent interagir avec quoi que ce soit de la scène. Une fois Instancié dans la scène alors il a accès à la scène, ce n'est pas plus un asset mais un gameObject.
Tu as plusieurs solutions: (je considère EnergyBar dans la scène)
- Lors de l'Instanciation, les scripts monobehaviour de l'instance vont se lancer (si actifs), c’est à dire Awake, Start, Update, etc. Dans l'Awake par exemple, tu peux récupérer ton EnergyBar de la scène. A toi de voir comment tu procèdes (tag, lien, scriptableObjetc, Component, etc)
- Utiliser les scriptableObjects. Un SO peut être référencé par plusieurs objets, ce qui permet un partage de données entre objets sans qu'ils se connaissent.
Tu as plusieurs solutions: (je considère EnergyBar dans la scène)
- Lors de l'Instanciation, les scripts monobehaviour de l'instance vont se lancer (si actifs), c’est à dire Awake, Start, Update, etc. Dans l'Awake par exemple, tu peux récupérer ton EnergyBar de la scène. A toi de voir comment tu procèdes (tag, lien, scriptableObjetc, Component, etc)
- Utiliser les scriptableObjects. Un SO peut être référencé par plusieurs objets, ce qui permet un partage de données entre objets sans qu'ils se connaissent.
"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: Prefab -> Objet : problème d'attribution d'un script
Très bien Merci.boubouk50 a écrit : ↑25 Mars 2020 17:33Les prefabs sont hors-scène, donc ne peuvent interagir avec quoi que ce soit de la scène. Une fois Instancié dans la scène alors il a accès à la scène, ce n'est pas plus un asset mais un gameObject.
Tu as plusieurs solutions: (je considère EnergyBar dans la scène)
- Lors de l'Instanciation, les scripts monobehaviour de l'instance vont se lancer (si actifs), c’est à dire Awake, Start, Update, etc. Dans l'Awake par exemple, tu peux récupérer ton EnergyBar de la scène. A toi de voir comment tu procèdes (tag, lien, scriptableObjetc, Component, etc)
- Utiliser les scriptableObjects. Un SO peut être référencé par plusieurs objets, ce qui permet un partage de données entre objets sans qu'ils se connaissent.
Vous auriez des bon tuto sur le sujet ?
Je reviendrai pour mettre la solution dès que je l'aurai
- boubouk50
- ModoGenereux
- Messages : 6212
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Prefab -> Objet : problème d'attribution d'un script
Je n'ai rien à te proposer, ces infos sont surtout issues de la compréhension du fonctionnement d'Unity.
Mis à part la documentation ou les learns Unity, il te faudra chercher ton bonheur sans mon aide.
Mis à part la documentation ou les learns Unity, il te faudra chercher ton bonheur sans mon aide.
"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
- boubouk50
- ModoGenereux
- Messages : 6212
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Prefab -> Objet : problème d'attribution d'un script
Je n'ai rien à te proposer, ces infos sont surtout issues de la compréhension du fonctionnement d'Unity.
Mis à part la documentation ou les learns Unity, il te faudra chercher ton bonheur sans mon aide.
Tu peux consulter ce post pour avoir quelques liens utiles également.
Mis à part la documentation ou les learns Unity, il te faudra chercher ton bonheur sans mon aide.
Tu peux consulter ce post pour avoir quelques liens utiles également.
"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: Prefab -> Objet : problème d'attribution d'un script
Merci boubouk50