Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Création d'un jeu de serpent en AS2


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Rédacteur

    Création d'un jeu de serpent en AS2


    slim_java vous propose un tutoriel sur la création d'un jeu (jeu de serpent) en AS2.

    N'hésitez pas à faire part de vos remarques, commentaires ou encouragements à la suite.

    à lui !

    Création d'un jeu de serpent (snake) en AS2
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  2. #2
    Membre du Club
    On est en 2010, pourquoi ne passe sortir des tutoriels pour AS3 ? :/

  3. #3
    Expert confirmé
    Citation Envoyé par pokap Voir le message
    On est en 2010, pourquoi ne passe sortir des tutoriels pour AS3 ? :/
    et bientôt en 2011
    je pense qu'il reste encore des développeurs Flash qui utilise AS2, déjà la rubrique AS1/AS2 respire encore sur le forum.
    L'implémentation du code du jeu s'approche du procédural plus que l'Orienté Objet et presque pas de fonctions spécifiques à tel ou tel API.
    mais pourquoi pas faire un deuxième article pour la version AS3 ?..en attendant.
    merci pokap.

  4. #4
    Rédacteur

    slim_java,

    J'ai pas lu l'article mais j'ai joué vite fait à ton snake. Je trouve qu'il est super.
    Ayant coder le snake dans le passé en pascal et sous mon TI v200, j'ai pu remarquer quelques trucs à règler dansle programme.
    Le serpent ne se déplace pas de mamiere vraiment fluide. La pomme s'affiche de temps en temps eu dessus de la queue du serpent ou sur les barrière.

    Sinon c'est bien

  5. #5
    Expert confirmé
    salut Darryl. Un peu en retard mais félicitation pour ton résolveur de grille Sudoku

    Citation Envoyé par darrylsite Voir le message

    Le serpent ne se déplace pas de mamiere vraiment fluide.
    tu peux m'expliquer de plus ?

    Citation Envoyé par darrylsite Voir le message
    La pomme s'affiche de temps en temps eu dessus de la queue du serpent ou sur les barrière.
    d'accord je vais ajouter ce petit test. on est parfois paresseux lorsqu'on écrit du code.

  6. #6
    Rédacteur

    Citation Envoyé par slim_java Voir le message
    salut Darryl. Un peu en retard mais félicitation pour ton résolveur de grille Sudoku
    Merci!

    d'accord je vais ajouter ce petit test. on est parfois paresseux lorsqu'on écris du code. :mrgreen
    bon courage

  7. #7
    Expert confirmé
    salut. suite aux remarques de darrylsite, j'ai fais un changement au niveau du code de la partie

    Affichage des bonus sur la scène

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    function aléatoire(min:Number, max:Number):Number 
    {
           return (max-min)*Math.random()+min;
    }
     
    // utiliser pour ne pas afficher un bonus sur le corps du serpent.
    function  existePosition(tab:Array,position: flash.geom.Point,taille_bonus:Number)
    {
       l= taille_bonus/2;
       for(var i=0; i<tab.length ; i++)
       if( 
       (tab[i].posX >= position.x -l) and  (tab[i].posX <= position.x+l) and(tab[i].posY >= position.y -l) and  (tab[i].posY <= position.y+l) 
       )
             return true;
     
       return false;
    }
     
    function afficher_bonus_1() 
    {
        // pour afficher le bonus sur la surface de déplacement du serpent
        // les limites de la surface en x : 59 ---> 552 en y : 56 ---> 340
        Xbonus1 = aléatoire(59, 552);
        Ybonus1 = aléatoire(56, 340);
     
        var posBonus:flash.geom.Point = new flash.geom.Point(Xbonus1,Ybonus1);
     
        // pour ne pas afficher un bonus sur le corsp du serpent.
        if( !(existePosition(array_position_corp,posBonus ,20)))
        {
         //je vais laisser le méme niveau (-1) (car le 0 est occupé par les élement corps )pour que le nouveau bonus remplace l'ancien
            attachMovie("bonus_1", "bonus_1", 100);
            bonus_1._x = Xbonus1;
            bonus_1._y = Ybonus1;
        }
        else 
            afficher_bonus_1();
    }
     
     
     
    function afficher_bonus_2() 
    {
        // pour afficher le bonus sur la surface de déplacement du serpent
        // les limites de la surface en x : 59 ---> 552 en y : 56 ---> 340
     
        Xbonus2 = aléatoire(59, 552);
        Ybonus2 = aléatoire(56, 340);
     
     
        var posBonus:flash.geom.Point = new flash.geom.Point(Xbonus2,Ybonus2);
     
        // pour ne pas afficher un bonus sur le corsp du serpent.
        if( !(existePosition(array_position_corp,posBonus ,30)))
        {
         //je vais laisser le méme niveau (-1) (car le 0 est occupé par les élement corps )pour que le nouveau bonus remplace l'ancien
            attachMovie("bonus_2", "bonus_2", 200);
            bonus_2._x = Xbonus2;
            bonus_2._y = Ybonus2;
        }
        else 
     
            afficher_bonus_2();
    }
    en réalité j'ai pas bcp tester par la suite

    Citation Envoyé par darrylsite Voir le message

    Le serpent ne se déplace pas de mamiere vraiment fluide.
    c'est à cause de l'utilisation des images pour construire le serpent. on peut régler ce problème avec un peu de patience en modifiant le centre de l'image(pour la tète, le corps, la queue) utilisée quand le serpent change de direction.
    merci.

###raw>template_hook.ano_emploi###