Partage
  • Partager sur Facebook
  • Partager sur Twitter

Space Invaders

Encore un problème

Anonyme
    15 avril 2006 à 9:31:17

    Voila, quand on appuye sur espace, un missile devrait partir, mais le problème, c'est que le programme envoie les 10 missiles en même temps, voila le bout de code qui foire (je pense qu'il ne quitte pas le for) :
                        case SDLK_SPACE :
                            for (i=0; i<10; i++)
                            {
                                if (tir[i]==0)   //Si on tire
                                {
                                    tir[i] = 1;
                                    pos_tir[i].x = pos_vaisseau.x+vaisseau->w/2 -2; //On positionne le tir
                                    pos_tir[i].y = pos_vaisseau.y;
                                    break; //et on quitte le for
                                }
                            }
                            break;
    • Partager sur Facebook
    • Partager sur Twitter
      15 avril 2006 à 9:54:05

      A mon avis, c'est juste que la boucle de ton programme va tellement vite que des que tu appuis, le temps que tu relache la touche, déja 10 boucles sont passées.

      Le mieux serait plutot que tu fasse un sdl_delay ou une fonction qui vérifie que ça fait 1000 millisecondes que le dernier missile a été lancé.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        15 avril 2006 à 9:55:46

        Mais je crois que c'est a cause de la fonction SDL_EnableKeyRepeat, je vais quand meme essayer avec sdl_delay, merci
        • Partager sur Facebook
        • Partager sur Twitter

        Space Invaders

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown