IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Jeux 2d en flash


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre éclairé Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Par défaut Jeux 2d en flash
    Bonjour, je vais essayer de vous expliquer clairement mon problème.

    J'aimerai faire bouger mon perso (clip) avec les flèches. Jusque là tout va bien mais ensuite j'aimerai qu'il fasse un saut quand je presse sur ESPACE. J'ai essayer d'une façon mais ça ne fonctionne pas. Voici mon code :

    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
    onClipEvent (enterFrame) {
        if (Key.isDown(Key.RIGHT)) {
            this._x = _x+10;
            this.gotoAndPlay("Marche");
        } else if (Key.isDown(Key.DOWN)) {
            this._y = _y+10;
            this.gotoAndPlay("Marche");
        } else if (Key.isDown(Key.LEFT)) {
            this._x = _x-10;
            this.gotoAndPlay("Marche");
        } else if (Key.isDown(Key.SPACE)) {
            for (i=0;i=8;i++) {
            this._y = _y-3;
            this._x = _x+3;
            }
            for (i=0;i=8;i++) {
            this._y = _y+3;
            this._x = _x-3;
            }
            this.gotoAndPlay("Marche");
        }
        else {
            this.gotoAndStop("Arret");
        }
    }
    Si vous pouviez me dire comment le faire sauter, ce serait super méga cool.

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut
    Si tu pose une question a chaque fois, tu n'avancera pas par toi même dommage. De plus, n'ouvre pas un nouveau post a chaque fois si ça parle de la meme chose.
    (au passage regarde tes message privé )

    Sinon pour ton problème, il faut déja que tu comprene se que tu fais, pour le moment je ne vais pas te donner du code tout fais, juste t'expliquer une logique.

    Tu veux faire sauter un personnage, pour flash ton personnage c'est un MovieClip

    Tu peux donner un nom d'occurence à celui-ci, moi je vais l'appeller monPerso_mc

    Ton clip à des propriétés et des méthodes, les 2 propriétés qui t'intéresse sont _x et _y . Si tu à fais des Maths (géométrie) tu va comprendre facilement. X correspond à la position du clip sur l'axe de Gauche à Droite et Y correspond à la position du clip sur l'axe de Haut en Bas.
    Pour récupérer ou définir cette valeur (position) tu écris comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monPerso_mc._x = 50 ;
    monPerso_mc._x = 50 ;
    Dans cet exemple, je place monPerso_mc à la position (50;50)

    Ensuite pour le saut du personnage, ça se traduis par une variation de cette position, c'est tout.
    Dis moi déja si tu a compris avant que je continu.

  3. #3
    Membre éclairé Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Par défaut
    Oui sa j'ai très bien compris mais si je fais varier ces valeur dans une boucle cela va trop vite et on ne voit pas le déplacement.

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    Salut,
    (julien.biedermann> T'aurai du essayer ovomaltine.... ) http://www.developpez.net/forums/sho...d.php?t=140134

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var interval:Number=new Number();
    var posY:Number=new Number();
     
    // executer la fonction auPas toute les 150 millisecondes
    interval=setInterval(auPas,150);
     
    function auPas(){
      bonhomme_mc._y=posY;
      posY+=10;
      if(posY>100)
         clearInterval(timer);
    }
    julien, pourquoi ne pas faire un clip ou tu desines ton bonhomme qui saute a l'aide de "mouvement d'interpolation"
    Tu pourai donc avoir ce-ci:

    pour plus de comprehension, je defini les signes suivant :
    " * " correspond a une image clé
    " _____> " correspond a un mouvement d'interpolation

    Voici la timeLine:
    *___sauter____>**__acroupire___>**___gauche_____>**___droite___>*

    *___sauter____>* correspond au saut du bonhomme
    *__acroupire___>* correspond a l'acroupisement du bonhomme
    *___gauche____>* changement de direction vers la gauche
    *____droite____>*

    Il te suffit juste d'utiliser des stop() et des gotoAndplay() dans ton code
    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
     
    onKeyDown=function(){
    if(keyIsDown==(key.SPACE)){//correspond au saut du bonhomme
    bonhomme_mc.gotoAndPlay("saut");
    }
    // etc ...
     
    /*position de depart de ton bonhomme*/
    var posX=0;
    var posY=0;
    var interval:Number;
     
    if(keyIsDown==(key.LEFT)){//correspond au deplacement du bonhomme
    interval=setInterval("moveMC",150);
    }
    }
     
    onKeyUp=function(){
    if(KeyDown==Key.LEFT){
    clearInterval(interval);
    }
    }
     
    function moveMC(){
    bonhomme._x=posX;
    posX++;// ou posX+=pas; avec var pas:Number  
    /*par exemple si l'utilisateur fait un double clap sur la fleche de gauche
    le bonhomme se deplace deux fois plus vite (pas=pas*2)....
    ou sinon si la touche est enfoncé pendant plus de 3s */
    }
    Je m'excuse pour ce code un peu "junk" mais j'ai pas flash entre les main. Mais l'esprit y est.
    Julien, tu remarquera que avec le meme nombre de ligne de code que toi j'ai deja presque fait tout les mouvement posible ... et c'est du code robuste . Quoi que attention au setInterval clearInterval

    petite astuce contre le peu de robustesse du setInterval, clearInterval.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var timer:Number=new Number(0);
     
    //valider le lancement 
    if(timer==0)
    timer=setInterval(timer);
     
    //effacer
    clearInterval(timer),
    timer=0;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jeux vidéos en Flash
    Par anadoncamille dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 27/08/2007, 23h07
  2. Ou trouver des jeux flash pour mettre sur mon site
    Par cyraile dans le forum Flash
    Réponses: 1
    Dernier message: 21/02/2006, 10h43
  3. [FLASH 8] [Info] Jeux flash online multijoueurs
    Par orelero dans le forum Flash
    Réponses: 3
    Dernier message: 22/12/2005, 19h30
  4. [FLASH MX] Des jeux en flash modifiable!
    Par Mehdi3 dans le forum Flash
    Réponses: 6
    Dernier message: 06/12/2005, 19h55
  5. Jeux Flash (variable PHP)
    Par djmustru dans le forum Langage
    Réponses: 4
    Dernier message: 01/11/2005, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo