Programation sur game maker

Moi -  
 Fabian -
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
Configuration: Windows XP
Firefox 2.0.0.6

3 réponses

  1. Fabian
     
    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
  2. Fabian
     
    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
  3. P.E. Lachance Messages postés 18 Date d'inscription   Statut Membre 7
     
    c'est le message le plus long que j'ai jamais vu!
    0