Initialisation d'applications

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Pico57
Messages : 576
Inscription : 19 Fév 2013 16:30
Localisation : Cluny

Initialisation d'applications

Message par Pico57 » 21 Mai 2013 14:18

Bonjour tout le monde,

Je fait (encore) appel à vous car j'ai un souci sur l'initialisation de mon application. J'ai plusieurs scripts et pour que tout marche correctement, il faudrait que certains soit bien exécutés avant d'autres. J'avais déjà rencontré ce problème auparavant et j'avais trouvé une solution. Les scripts étant sur le même gameobject (qui accueille mon menu, et les principales fonctions associées). J'ai alors changé l'ordre des scripts attachés au gameobject et cela a réglé le problème. Mais voilà, que de nouveau j'ai un script qui ne tourne pas rond à l’initialisation. Si j'active les scripts moi même dans l'ordre qu'il faudrait tout marche bien. J'ai bien rangé les scripts dans le bon ordre sur mon gameobject mais cela ne règle pas le problème.
Est-ce qu'il y a un moyen de donner un ordre de priorité pour l'exécution des scripts au lancement de l'appli ? Est-ce qu'il serais judicieux de créer un script Init qui soit le seul actif au démarrage de l'appli et qui se charge de lancer tous les éléments de mon projet dans le bon ordre ?

Bref, comment vous faites ça, vous ? Par expérience, qu'est-ce qui est le plus facile, le plus propre, le mieux adapté ?

Merci d'avance pour vos retours.

Avatar de l’utilisateur
spedy
Messages : 290
Inscription : 16 Nov 2010 16:32
Localisation : Aix en Provence

Re: Initialisation d'applications

Message par spedy » 21 Mai 2013 15:42

Tu peux essayer avec Awake et Start !

Awake étant exécuté avant Start.

Sinon tu peux imaginer un seul Start sur un gameObject qui appel des fonctions sur les autres gameObject une fois qu'il a fini de faire son affaire.

Pico57
Messages : 576
Inscription : 19 Fév 2013 16:30
Localisation : Cluny

Re: Initialisation d'applications

Message par Pico57 » 27 Mai 2013 12:12

Merci spedy, j'ai pu régler quelques souci comme ça effectivement.

Et aussi, je suis tombé par hasard sur le fonction MonoManager de Unity qui permet de customiser l'ordre d'éxecution des scripts. Je n'ai pas encore poussé mes recherches mais voici un petit tuto pour ceux que ça pourrait intéresser : http://www.youtube.com/watch?v=5KWoXNCi4wQ

Avatar de l’utilisateur
Titan
Messages : 582
Inscription : 12 Sep 2011 13:54
Contact :

Re: Initialisation d'applications

Message par Titan » 27 Mai 2013 13:12

Le MonoManager permet effectivement de gérer l'ordre d'execution des script d'aprés la doc mais j'ai jamais eu besoin d'y avoir recours, peut tu nous donner un exemple de 2 script qui ont besoin d'être initialisé dans un ordre précis ?

Sinon la grosse différence entre Awake et Start c'est qu'Awake est appelé avant les RPC du buffer et Start après si tu fait du réseau, j'ai récemment eu des problèmes avec ça.
____________________________________________
Hop Boy

CorVuS
Messages : 56
Inscription : 25 Avr 2013 13:49

Re: Initialisation d'applications

Message par CorVuS » 27 Mai 2013 13:53

J'ai peu de compétence en code (j’apprends) mais pourquoi tu ne fais pas comme tu le dis au début un script d'initialisation ^^, c'est quand même le plus simple non ? Ça marche pas ? ça doit pas consommer grand chose puisque lancer une fois au début.

Répondre

Revenir vers « Scripting »