Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre régulier
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2012
    Messages : 99
    Points : 99
    Points
    99

    Par défaut Créer missile pour un shoot

    Salut, je débute en XNA et en C#. Je suis en train de développer un shoot'em up à ma sauce, enfin bref je sèche pour la création des missiles.

    J'ai vu un peu de code dans différents tutoriels en anglais mais c'est des méthodes qui ne corresponds pas avec la manière dont j'ai appris à coder en C#.

    Je vous explique rapidement :

    J'ai différentes classes, dont le classe Sprite qui s'occupe de créer et afficher les sprites. J'ai une classe Player qui correspond au vaisseau, elle ne comporte que les commandes aux claviers et la position de départ.

    J'ai ajouté une classe Missile mais je vois pas du tout comment m'y prendre pour afficher les missiles à partir de la position du vaisseau.

    J'ai essayé de coder quelque chose comme sa :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
          public void Update(GameTime gameTime)
            {
     
     
                if (ServiceHelper.Get<IKeyboardService>().IsKeyDown(Keys.C))
                    position = new Vector2(player.position.X, player.position.Y + (float)(0.9f * gameTime.ElapsedGameTime.Milliseconds));
     
     
     
            }
        }
    Mais cela ne donne rien si ce n'est une erreur lorsque j'appuie sur la touche C.

    Bref je n'arrive pas à créer un sprite à partir du vaisseau et je ne vois pas comment implanter une boucle...

    Si vous pouviez m'aider, se serait vraiment sympa

  2. #2
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    647
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 647
    Points : 318
    Points
    318

    Par défaut

    Salut,

    pour get le state du clavier, c'est quelque chose comme:

    Keyboard.GetState().IsKeyDown....


    Ensuite ce que je te conseille de faire c'est de mettre une fonction update a ton missile.
    Meme a toutes tes entities. Et dans ton game tu stock une liste de AEntity.
    Ensuite tu fais dans ton Scene.Update une boucle pour updater et draw toutes tes entities.

    Apres donc dans ta classe missiles tu peux stocker des valeurs telles que :
    - IsActive
    - Direction
    - Speed

    Ainsi dans l'update de ta classe missile tu peux faire quelque chose comme:

    If IsActive:
    Position += Direction * Speed.

    Bon courage.

  3. #3
    Membre régulier
    Avatar de Shinja
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2012
    Messages : 99
    Points : 99
    Points
    99

    Par défaut

    Merci pour ta réponse.

    J'ai préféré recommencer le projet depuis le début et j'ai finalement trouvé comme créer ces foutus missiles.

    Pour le reste je rame pas mal et je me demande si le C# + XNA n'est pas un peu trop difficile en vue de mes connaissances car parfois je me sens vraiment perdu. Je ne sais pas s'il existe un langage de programmation un plus accessible...

  4. #4
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    647
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 647
    Points : 318
    Points
    318

    Par défaut

    Le C# reste assez haut niveau...
    Apres avec xna tu n'as pas tous les outils comme tu pourrais trouver dans un moteur.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •