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

Développement 2D, 3D et Jeux Discussion :

probleme missile qui grandit


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut [XNA] probleme missile qui grandit
    bonjour,
    voila mon sprite lance un missile quand on appuie sur espace mais des que je continue d'appuyer l image du missile s'accroit en longueur tant que je reste appuyer enfaite si j apuuie une fois le sprite tire un missile si je reste appuyer il continuer de créer l image du missile et donc l agrandi voici le script
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.Xna.Framework;
    using Microsoft.Xna.Framework.Graphics;
    using Microsoft.Xna.Framework.Input;
    using Microsoft.Xna.Framework.Storage;
    using Microsoft.Xna.Framework.Content;
     
     
    namespace MonsterWorld
    {
        class homme
        {   //propiétés statiques : tous les hommes utilisent les mêmes textures
            static private Texture2D textureHomme1;
            static private Texture2D textureHommeKO;
            static private Texture2D textureMissile;
            List<Vector2> listPosMissile = new List<Vector2>();
            //chaque homme dispose des propriétés suivantes
            private Rectangle posHomme; 
                  //utilisée pour changer les images toutes les 8 exécutions de boucle de jeu
            public Rectangle PosHomme
            {
                get
                { return posHomme; }
     
            }
     
            public homme()
            {//constructeur par défaut
     
                //taille du rectangle de l homme
                posHomme = new Rectangle(200,0,98,58);
            }
            static public void LoadGraphicsContent(ContentManager monContent)
            {
                //charge les textures
                textureHomme1 = monContent.Load<Texture2D>("images/homme/ManRight1") as Texture2D;
                textureHommeKO = monContent.Load<Texture2D>("images/homme/ManKilled") as Texture2D;
                textureMissile = monContent.Load<Texture2D>("images/objects/tire") as Texture2D;
     
            }
     
            public void Update(GamePadState EtatGamePad, KeyboardState EtatClavier,  Rectangle ecran)
            {//teste l'état du clavier      
                if (posHomme.X <= 0)//des que la position de l'homme disparait de l'ecran alors on le repositionne a droite
                {
                    posHomme.X = ecran.Width;
     
                }
                for (int i = 0; i < listPosMissile.Count; i++)
                {
                    Vector2 v = listPosMissile[i];
                    if (listPosMissile[i].X< 0) listPosMissile.RemoveAt(i);
     
                    v.X++;
                    listPosMissile[i] = v;
                }
     
     
     
                    if (Keyboard.GetState().IsKeyDown(Keys.Space) && PosHomme.X > 20)
                    {//si on appuyé sur espace, le personnage fait un bond
                        listPosMissile.Add(new Vector2(posHomme.X, posHomme.Y));
     
                    }
     
     
     
     
                     if (Keyboard.GetState().IsKeyDown(Keys.Right))
                     {
                         posHomme.X++; 
     
                     }
                     if (Keyboard.GetState().IsKeyDown(Keys.Left))
                     {
                         posHomme.X--;
                     }
                //controle fleche haut
                     if (Keyboard.GetState().IsKeyDown(Keys.Down))
                     {
                         posHomme.Y++;
     
                     }
     
                     if (Keyboard.GetState().IsKeyDown(Keys.Up))
                     {
                         posHomme.Y--;
     
                     }
     
     
             }
            public void Draw(SpriteBatch monSpriteBatch, etatsJeu etat)
            {
                if (etat == etatsJeu.encours)
                {
     
     
                        monSpriteBatch.Draw(textureHomme1, PosHomme, Color.White);
                        for (int i = 0; i < listPosMissile.Count; i++)
                           monSpriteBatch.Draw(textureMissile, listPosMissile[i], Color.White);
     
                }
                    else
                    {
                        if (etat == etatsJeu.perdu)
                        {
                            monSpriteBatch.Draw(textureHommeKO, PosHomme, Color.White);
                        }
                    }
                }
     
     
           public  bool collision(monstre lemonstre)
            {// détecte une collision entre l'objet homme en cours et lemonstre passé en paramètre
             return posHomme.Intersects(lemonstre.PosMonstre);
           }
        }
    }

  2. #2
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Salut,

    Si j'ai bien compris tu veux empêcher la création de plusieurs missiles lorsque l'on reste sur sur la touche espace.

    un truc du gence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    bool espace_appuye = false, espace_gere = false;
    ...
     
    espace_appuye = chercheEtatEspace();
     
    if((espace_appuye) && (!espace_gere)) {
       espace_gere = true;
       /* Gestion de l'espace */
    }
     
    if(!espace_appuye) {
      espace_gere = false;
    }
    En espérant avoir bien compris ton problème et pas avoir dis de conneries...

    a+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Franchement un conseil : fais un peu plus de recherche avant de poster un nouveau topic à chaque fois que t'a un problème. Tu te rend compte si tout le monde faisait comme toi !

    On t'aide pour un problème et tu reposte un nouveau topic dans l'heure qui suit, demande que quelqu'un te fasse ton jeu carrément au pire mais la sa ne sert strictement à rien de travailler comme sa.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    EXCUSE moi surem mais je n ai pas du tout le temps de repondre a des critiques comme les tiennes , un forum est fait pour poster des messages est etre conseiller et aider, ce projet de jeu est seulement 1 sur 5 projet que je doit accomplir pour mes examen finales. Qui devront tous être dans un langage de programmation différent Si je pose autant de questions pour eviter de faire des erreurs et etre soutenu dans le travail que je fais.Et pour te repondre clairement j ai ete tres malade depuis quelques mois qui fait que je doit rattraper mes cours alors que mes projet doit tous etre fini dans moins d'un mois que je travailler de 8h00 a 2h00 du matin le week end et des que je rentre des cours jusque le matin .
    je devrais être désoler de demander de l aide dans ses conditions.

    Alors ne vient pas dire que je demande qu' on travaille a ma place je travaille assez toute seule.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Ok, en tout cas je pense que sa serait mieux si tu faisait un seul topic ou tu poserai toutes tes questions ^^

    Bon courage.

Discussions similaires

  1. Probleme: menu qui bouge
    Par BernardT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/06/2006, 05h05
  2. [FLASH MX2004] Problème image qui restent pas fixe
    Par °°° Zen-Spirit °°° dans le forum Flash
    Réponses: 4
    Dernier message: 14/06/2006, 21h16
  3. [VBA-E]Probleme checkbox qui reste cochée
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2006, 11h39
  4. Probleme Base qui doit souvent etre réparée.
    Par Le_Phasme dans le forum Access
    Réponses: 3
    Dernier message: 04/11/2005, 15h04
  5. Problem fond qui n'apparait pas sous FF.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/09/2005, 22h05

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