CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Game Maker] Problème avec une variable

[LittleGamer]
[LittleGamer]
Niveau 10
18 avril 2012 à 15:12:19

Bonjour - Bonsoir (rayez la mention inutile)

Bon j'ai un petit problème avec les variables dans Game Maker, j'aimerai que si le joueur a terminé un niveau, le sprite pour séléctionner ce niveau soit différent (un petit v vert dessus :3 )
Le problème c'est que le jeu me met un message d'erreur marqué comme ceci lorsque j'entre sur l'écran de séléction de stage :

ERROR in
action number 1
of Create Event
for object Challenge 1:

Error in expression:Stage1
position 1: Unknown variable Stage1

Puis

ERROR in
action number 1
of Create Event
for object Challenge 1:

Cannot compare arguments.

L'objet qui nous téléporte au niveau 1 ressemble a ça :

Event : Create
If stage1 is equal to 1
Start of a block
Change sprite into 1 OK (le nom du sprite avec un petit v vert)
End of a block

Else
Start of a block
Set variable Stage1 to 0
End of a block

Il y aussi un event avec le bouton gauche de la souris mais la variable n'a rien a voir avec

Si j'ai bien compris le message d'erreur, il faudrait créé la variable, mais dans ce cas comment ? Si je met dans l'un des objets du menu principal "Set variable Stage1 to 0" ça va pas le refaire a chaque démarrage ?

Notez que la variable doit passer a 1 lorsque que le joueur termine le niveau (grace a l'objet qui fait sortir de la room)

Merci d'avance :)

Lapintade
Lapintade
Niveau 30
18 avril 2012 à 16:02:32

"stage1" avec une majuscule non : "Stage1"

chopsueys
chopsueys
Niveau 18
18 avril 2012 à 18:02:05

je ne pense pas que ce soit une histoire de majuscule,
avant de tester une variable il faut d'abord la créer alors dans ton événement create écrit simplement Stage1=0 (ou = ce que tu veux peut importe la valeur)

chopsueys
chopsueys
Niveau 18
18 avril 2012 à 18:05:56

et puis pour ce genre d'utilisation je te conseil de créer une variable global et non local.
t'a juste à rajouter " global. " suivit du nom de ta variable
donc global.Stage1.

[LittleGamer]
[LittleGamer]
Niveau 10
18 avril 2012 à 18:27:15

Oui ce n'est pas un problème de majuscule, j'ai fait la faute dans le post mais pas l'éditeur ^-^"

Donc je dois juste mettre global. devant mes variables ? Je savais pas ! Merci :) (l'habitude d'RPG Maker ^-^)

chopsueys
chopsueys
Niveau 18
18 avril 2012 à 19:32:03

non pour résoudre ton problème c'est juste mon 1er post
le 2emme c'est juste un conseil.
lorsque une variable est global sa signifie qu'elle est valable pour tous les objets donc c'est juste plus pratique dans certains cas. Par exemple tu veux que ton perso lève le poing en signe de victoire à la fin de la room il serras pratique de mettre dans son step une condition avec la variable en question du genre:

if global.stage1 == 1
{sprite_index = spr_player_victoire}

par contre pour que tu comprenne mieux il ne faut pas systématiquement créer des variables global car parfois il est obligatoire d'utiliser une variable local.
exemple tous simple, la variable qui gère la vie des ennemis. Si tu utilise une variable global alors lorsque ton ennemis va être touché et qu'il va perdre un point de vie alors tous les autres ennemis du même objet vont perdre une vie.

[LittleGamer]
[LittleGamer]
Niveau 10
19 avril 2012 à 15:34:48

Je comprend, Merci des conseils (même si pour le petit jeu que je fais ce n'est pas le même contexte) Grâce a ce conseil je crois que j'ai trouvé comment régler le problème :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment