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

Android Discussion :

Déplacer un Pacman en continu


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Déplacer un Pacman en continu
    bonjour

    je suis entrain de développer une version de pacman pour android mais à executer en desktop, je veux réaliser un deplacement du pacman en continu c'est à dire faire en sorte que dès qu'on appuie, UNE SEULE FOIS, sur une des touches de direction alors le pacman va dans cette direction jusqu'à ce qu'une collision avec un mur soit détectée ou bien une autre touche de direction est appuyée.

    Quelqu'un pourrais m'aider ? je lui en serai très reconnaissant

    pour l'instant j'en suis au point je dois toujours garder la touche appuyée si non le pacman ne bouge pas :

    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
    /* .....  */
    public void update(){
     
    if (Gdx.input.isKeyPressed(Keys.LEFT))
    {
    	this.position.x -= moveSpeed* delta;
    	direction = LEFT;
    }
    else if (Gdx.input.isKeyJustPressed(key))
    {
    	this.position.x += moveSpeed* delta;
    	direction = RIGHT;
    }
    else if (Gdx.input.isKeyPressed(Keys.UP))
    {
    	this.position.y += moveSpeed* delta;
    	direction = UP;
    }
    else if (Gdx.input.isKeyPressed(Keys.DOWN))
    {
    	this.position.y -= moveSpeed* delta;
    	direction = DOWN;
    }		
    if(direction != previousDirecttion)
    {
    	animation = new Animation(0.10f, frame[direction]);
    	frameTime = 0.0f;
    }
     
    	currentframe = animation.getKeyFrame(frameTime, true);
    	if (!currentframe.isFlipY())
    		currentframe.flip(false, false);	
    	spriteBatch.begin();
    	spriteBatch.draw(currentframe, this.position.x,this.position.y);
    	spriteBatch.end();
    }
    }
    /* .....  */
    MERCI D'AVANCE POUR VOTRE AIDE

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Points : 196
    Points
    196
    Par défaut
    Je suppose que ta fonction update est appelé toute les X secondes.
    Tu devrais créer une variable qui mémorise la dernière touche appuyé, et il te suffirait de remplacer Gdx.input.isKeyPressed(Keys.LEFT) par la variable en question,
    ensuite tu crée une 2e fonction qui elle va actualiser la dernière touche appuyé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Gdx.input.isKeyPressed(Keys.LEFT))
    	derniere_direction = LEFT;
    cette fonction la doit être géré en dehors de la fonction update.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    super ton idée, j'avais pensé déjà à sauvegarder la derrière touché appuyée mais j'ai pas pensé à l'appeler dans une autre classe, du coup là ça marche à merveille. merci

    du coup tu saurais pas comme faire en sorte que le pacman ne sort pas de la fenetre ? sachant que la position du pacman est stocké dans un vector2 ?

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Points : 196
    Points
    196
    Par défaut
    Ba normalement t'as des murs sur les bord pour le bloquer.
    et les endroits ou il peut sortir il réapparaît de l'autre coté normalement.
    Sinon avant d'effectuer le déplacement il te suffit d'ajouter une condition qui vérifie que la position X+1(ou Y+1) soit bien inférieur à la largeur (ou la hauteur) de la fenêtre.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    super merci pour ton aide, ça marche à merveille

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2020, 19h57
  2. Réponses: 2
    Dernier message: 31/05/2014, 16h53
  3. Déplacer ennemis pacman
    Par BJ 13 dans le forum C
    Réponses: 11
    Dernier message: 13/12/2007, 08h53
  4. TChart : déplacer un point
    Par Nicolas dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 18h05
  5. [langage] Continuer a parser une ligne
    Par D[r]eadLock dans le forum Langage
    Réponses: 5
    Dernier message: 30/09/2002, 18h49

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