cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008
-
3 juin 2005 à 16:44
cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008
-
10 juin 2005 à 18:33
Bonjour
Je dois programmer un casse brique en opengl,mais je n'y comprend
rien.Est ce que vous avez des exemples de programmation pour que je
puisse y arriver s'il vous plait.
Pamaury
Messages postés341Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention17 juin 20083 4 juin 2005 à 09:51
Bonjour,
tout d'abord qu'est-ce que tu ne comprend pas:
->le casse-brique ?
->OpenGL ?
->les deux ?
Si c'est un problème avec OpenGL, il y a sur internet plein de tuto sur OpenGL en 2D et comment déciner des carré(avec ou sans texture) .
Si c'est un problème de casse-brique voilà une ébauche en C++
->Une classe "Ball":
-Vecteur position
-Vecteur direction
-Entier rayon
->Une classe "Brick"
-Boolean exists
-Vecteur position(en haut gauche)
-Vecteur taille(longeur/largeur)
-virtual Callback "OnCollide"
->Une classe "MyBrick" dérivée de "Brick" qui représente la brique que l'on déplace
-Callback "OnTouch"
Maintenant la boucle du moteur(en gros)
#deifne PLAY_BRICK 20
Ball ball;
Brick **bricks; // allocation dynamique à cause de la classe dérivée
int points;
unsigned long elapsed;
... GameLoop...
{
InitOpenGL();
InitGame();
elapsed=MyGetElapsedTime();
while(!EndGame())
{
if(!OnPause())
{
if(BallOutOfBounds())
{
// replacer la balle, mettre sur pause...
continue;
}
for(int i=0;i<(PLAY_BRICK+1);i++)
{
if(BallCollide(brick[i])
brick[i]->OnTouch(); // le callback fera l'action appropriée:
// si c'est la brique spécial il renvoit la balle sinon il se détruit .
// grâce à ce système on peut créer des brique spécial(bonus, + de vie...)
}
}
voilà maintenant il faut implémenter la collision entre un rectangle et un cercle:
test avec chaque côté de la distance entre le côté et le centre du cercle: si <= à rayon cercle: collision !!!
il faut implémenter les classe et programmer les callback pour faire l'action convenu .
Si tu programme en C, rempplacer les classe par des structrure: la classe MyBrick disparait et tu fais pointer la fonction de callback de une brique sur une fonction spéciale:
cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008 10 juin 2005 à 15:10
Salut!
Merci pour ta réponse .En fait, mon problème c'est opengl,est ce que tu
n'aurais pas un code compréhensible pour les débutant s'il te plait ,tu
me sauverai la vie car c'est une question de vie ou de mort.
cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008 10 juin 2005 à 18:31
Bonjour,
Est ce que quelqu'un pourrait me dire comment résoudre mon
problème:j'ai écris une fonction keyboard pour que la barre de mon
casse brique se déplace,mais en appuyant les touches,rien ne bouge . Est ce que quelqu'un pourrait me dire d'où provient l'erreur?