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;
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é.
Mais je crois que c'est a cause de la fonction SDL_EnableKeyRepeat, je vais quand meme essayer avec sdl_delay, merci
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.