dsl de ne pas t'avoir répondu plus tôt, je suis en internat et j'ai pas internet à mon lycée ^^
pour faire simple une variable dans game maker c'est une valeur qui est associer à un nom est qui va être stocké quelque part et qui va pouvoir ètre réutilisé au moment voulu.
Mais à quoi est-ce que sa sert ?
sa va te permettre de gérer tes poins de vie ton score ton argent tes balle le temps... et bien d'autres chose en faite tous ce qui a un rapport avec les nombres (une quantité) mais pas que.
si tu veux crée une variable il faut tous d'abord que tu l'initialise. Met dans un create un code et écrit par exemple: balle=20 (ou avec l’icône D&D "set variable")
ta variable s’appellera alors balle est auras comme valeur 20. en suite tu pourras alors mettre dans un event <space> par exemple balle+=-1 (le + signifie que c'est relatif) ou en D&D set variable balle, -1 et tu coche relatif. relatif signifie dans cette exemple que ta valeur va valoir ta valeur actuel -1 c'est à dire 19, si tu ne coche pas relatif ou que tu ne met pas le + alors ta valeur va simplement valoir -1 et non 19.
donc à chaque fois que tu va appuyé sur espace tu va faire apparaitre un objet qui serras ta balle, et ta variable va diminuer de 1, mais pour l’instant ta variable ne te sert à rien il faut une condition et une conséquence pour qu'elle est une influence dans le jeux.
pour sa il te faudra utiliser "test variable".
met dans le step test variable (balle, valeur 0, smaller than) se qui se traduit par si la variable balle est inférieur à 0. En suite place entre 2 bloc (start bloc et end bloc) set variable (balle, valeur0 et pas de case relatif coché)se qui se traduit en tous par si la variable balle est inférieur à 0 alors elle est = à 0 ce qui va simplement évité qu'elle décence en dessous de 0.
Donc on a à présent une variable nommé "balle" qui est égal à 20 en début de partit qui descend de 1 chaque fois qu'on appuis sur espace et qui ne peut pas descendre en dessous de 0. Mais le problème c'est que ma variable à beau valoir 0 je peut toujours tirer. Il va donc falloir crée une condition quand on appuis sur espace. Il faut tous simplement mettre test variable (balle; vleur 0, equal to et cocher la case "not") au desus de la création de l'objet balle et de set variable (mettre l'objet et set variable) entre le start bloc et le end bloc) ce qui veut dire, si la variable balle n'est pas = à 0 alors créer l'objet balle.
La variable balle est une variable "local" c'est à dire que l'on ne peut pas sans servir depuis un autre objet contrairement à la variable "global". Ce genre de variable est surtout utile pour les ennemis, par exemple pour leurs points de vie et pour leurs munitions. si l'on à 10 ennemies (même objet) avec chacun une variable global pour leurs vie et que à chaque fois qu'une balle les touche on fasse -1 relatif à la variable tous les ennemies vont alors perdre un poins de vie ce qui est gênant. Il faut donc utiliser une variable local ainsi chaque ennemis auras sa propre vie.
pour qu'une variable soit global il faut placer devant le nom de la variable "gloal."
et pour qu'une variable soit local il suffit de ne rien mettre devant (comme la variable balle) exemple:
global.balle = variable global
balle = variable local
Notre variable balle pourrait rester local mais le problème c'est que si on veut l'afficher à l'écran il faut le faire depuis un autre objet donc la variable devras être global.
Pour afficher la variable:
1. créer un nouvel objet
2. créer un event draw
3. placer l’icône "draw text" dans l'onglet draw
4. écrire 'balle: ' + sring(global.balle)
ce qu'il y à entre ' ' c'est le texte à afficher si tu ne veut pas de texte avant ta variable met simplement ''
ce qui est entre () doit ètre le non de ta variable.
Il faut savoir que les variable ce n'est pas que sa, il ya aussi les variable présente dans game maker par défaut et qui on une incidence directe sur le jeu comme hspeed=3
qui va modifier la vitesse horizontal ou image_angle = 90 qui va modifier l'angle du sprite. Ainsi que toute les icônes que tu utilisait comme set live, set score etc.
voici un exemple: http://www.host-a.net/u/shopsueys/variable.gm81