Programation sur game maker

Fermé
Moi - 26 août 2007 à 22:34
 Fabian - 31 déc. 2009 à 20:38
Quelqu'un saurait il faire de la programmation pour game maker ?
Pourriez vous me traduire ces phrases pour que je puisse la mettre dans game maker sous forme de programmation :
- Faire suivre un objet par un autre objet.
- Faire passer un objet à l'endroit où le précédent est passé.
C'est pour faire le jeu du serpent.

Merci beaucoup si vous pouvez m'aider
A voir également:

3 réponses

Dans le la tête du serpent, tu lui met dans le "Create" le code suivant:

ancienlong = 0; // variable a ne pas modifier, l'encienne longueur du serpent
longactu = 5; // ceci définit la longueur de départ du serpent, ici 5
longmax = 20; // ceci définit la longueur maximale du serpent, ici 20
for (i=longmax; i>=0; i-=1){ // on l'utilise pour faire un boucle
variable_global_set("posx"+string(i),0); // qui définit les X a 0
variable_global_set("posy"+string(i),0); // et les Y a 0 aussi
} // ensuite, on ferme la boucle et on a finit nos variable
// maintenant, rien ne t'empèche de définir par défaut les
// positions de la queue, mais comme ça marche déjà,
// on va en rester la pour le moment

Ensuite, dans le "Step event", on lui fait utiliser:

for (i=longmax; i>=1; i-=1){ // on utilise les variables pour faire suivre les blocs
variable_global_set("posx"+string(i),variable_global_get("posx"+string(i-1))); // qui définit le X au nouveau X
variable_global_set("posy"+string(i),variable_global_get("posy"+string(i-1))); // et les Y au nouveau Y aussi
} // on a finit la boucle mais... a aucun moment, il ne demande la position de la tête...
variable_global_set("posx0",x); variable_global_set("posy0",y); // et voila, le tour est joué

// maintenant, la création des bouts de queue, s'il en faut...
if (longactu > ancienlong){// si on a plus de blocs qu'avant, il faut en créer
while (longactu > ancienlong){ancienlong += 1; // on fait la boucle jusqu'à avoir la même chose
execute_string("bou"+string(ancienlong)+" = instance_create(0,0,XXXXX)"); // on crée le bout
}} // avec un nom particulier, pour ensuite le déplacer, voir le supprimer et on ferme la boucle
// CHANGEZ LE XXXX PAR LE NOM DE VOTRE MORCEAU DE QUEUE (par example: morc_serpent)
// ce qui donne: execute_string("bou"+string(ancienlong)+" = instance_create(0,0,morc_serpent)");

// et s'il y a trop de bouts, on les supprime grâce aux noms particuliers...
if (longactu < ancienlong){// si on a plus de blocs qu'avant, il faut en créer
while (longactu < ancienlong){ancienlong -= 1; // on fait la boucle jusqu'à avoir la même chose
execute_string ("bou"+string(ancienlong)+".alarm[0] = 1"); // on définit l'alarm[0] du bout
}} // IL FAUT ABSOLUMENT METTRE LA SUPPRESSION DU BOUT DANS SON ALARME 0

// et ensuite, quand on a les bouts qu'il nous faut, on les place correctement
for (i=longactu; i>0; i-=1){// on commence la boucle pour placer les morceaux créés
execute_string("bou"+string(i)+".x = "+string(variable_global_get("posx"+string(i))));
execute_string("bou"+string(i)+".y = "+string(variable_global_get("posy"+string(i))));
} // on place le bout avec le numero i a l'endroit que définit la variable numero i

Et voila, vous avez terminé! Il faut, dans votre morceau de queue, l'alarm[0]:

// IL FAUT OBLIGATOIREMENT METTRE CECI DANS L'ALARM[0]!!!
instance_destroy() // SINON, LE SCRIPT NE MARCHERA PAS

Et c'est tout. Voila, votre jeu est complet, il ne vous manque que:
la carte, les murs, les points et les bonus spéciaux ^^
Bonne programmation!

Vous pouvez aussi visiter http://mba-co.be/fab/progs/
pour voir ce que j'ai créé avec GameMaker 7 ou supérieur
(je n'ai pas créé les DLL que vous pouvez avoir là)
5
Ben regarde tout le forum... Il y en a de beaucoup plus longs!
Et là il y a tout pour parfaitement faire ce que l'on a demandé au 1er post
1
P.E. Lachance Messages postés 21 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 8 février 2010 7
30 déc. 2009 à 18:12
c'est le message le plus long que j'ai jamais vu!
0