Sujet: Passage de rooms via array Dim 30 Nov 2014 - 12:02
Bonjour,
J'aimerais faire que lorsqu'on sort par la droite: room=room+1 Vers la gauche l'inverse. Vers le haut et bas, incrémentation par 10 par exemple. Sauf que l'index des rooms et leurs noms diffèrent dans game maker on dirait. J'ai donc fait un array avec pour chaque indice, le nom de la room. Sauf que room_goto(myarray[x]) ne fonctionne pas...
Une idée ?
Asu Utilisateur confirmé: Rang ****
Messages : 895
Sujet: Re: Passage de rooms via array Dim 30 Nov 2014 - 12:41
Oui, les index ne correspondent pas au numéro dans l'ordre de la room. Quand tu ajoute une room qui aura l'index 6, et que tu en rajoute une autre, qui aura l'index 7, puis que tu supprime celle avec l'index 6, la seconde aura toujours l'index 7.
Je sais pas si on peut "défragmenter" les index avec GM(:S), mais avec ENIGMA oui. Essaie de trouver ça, ça devrait marcher (Mais aussi plomber d'autres bouts de code qui s'appuient sur des id fixes.
Sujet: Re: Passage de rooms via array Dim 30 Nov 2014 - 14:59
Ouaip, en fonction de l'ordre des rooms dans ton project tree.
Par contre si tu veux faire par ordre de création des room, logiquement faut vérifier que la room existe toujours avant de jump. Genre:
i = 0 while(!room_exists(room + i)) i+=1 room = room + i
Après j'ai pas trop compris ce que tu voulais, et ton code est sensé être bon. C'est pas un soucis de porté de variable/initialisation?
ocin53 Utilisateur moyen
Messages : 61
Sujet: Re: Passage de rooms via array Dim 30 Nov 2014 - 15:09
Cayé, je viens de comprendre. En fait, j'initialise une variable i, à laquelle je donne le numéro de la room de départ (en l’occurrence, depuis que je supprime des rooms, la 7) Et après, dès qu'on touche la "zone de saut", j'ajoute +1 ou -1 à i, room i et goto next/previous Ca marche ! Merci oni, plus simple que les array
EDIT: Ah oui, problème de variable en fait. Le goto room fonctionne en fait !