Bonjour tout le monde !
Bon, ben je me lance pour ma première question sur ce forum.
J'ai un soucis avec les variables globales... "regarde sur le forum", "google est ton ami" pourrait-on me dire.
Sauf que j'ai déjà cherché... sans trop de succès !
Mon soucis est le suivant :
J'ai créé un script qui recense les caractéristiques des unités du jeu. Sachant que je vais devoir réutiliser ces statistiques pour chaque unité, pour chaque collision, j'ai préféré les déclarer en global. Comme ça, il me suffit de les modifier dans le script où elles sont déclarées plutôt que de le faire X fois dans X objets différents. C'est destiné à me faciliter la vie pour les tests.
En gros, mon script ressemblerait à peu près à ceci (basique, pour le moment) :
- Code:
-
//Unité 1
global.unite1_vie = 15;
global.unite1_attaque = 10;
global.unite1_vitesse = 4;
global.unite1_sens = 0; //droite
global.unite1_prix = 10;
//Unité 2
...
Mon but était d'éviter ceci :
- Code:
-
self.vie = self.vie - 10;
Pour le remplacer par ceci :
- Code:
-
self.vie = self.vie - unite1_attaque;
Principalement pour simplifier les modifications lors des phases de test. Il est plus simple de modifier une valeur dans un code plutôt que vingt fois la même valeur dans vingt codes différents...
Mais, pour en venir au problème, au moment où je lance le jeu, un message d'erreur apparaît me disant que la variable "unite1_attaque" est introuvable...
J'ai essayé plusieurs solutions trouvées sur internet, notamment mettre "global." devant, mettre "nom_objet_portant_le_script." devant, et d'autres choses, mais rien n'a fonctionné, je ne parviens pas à appeler la variable globale que je souhaite.
J'ai sûrement mal compris le principe de l'utilisation de ce type de variables.
Est-ce que quelqu'un pourrait m'éclairer sur la démarche à suivre ?