Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1354 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [debutant] [Allegro] ligne blanche [Resolut --> Bouble Buffering]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[debutant] [Allegro] ligne blanche [Resolut --> Bouble Buffering]

n°552019
Toam
Posté le 27-10-2003 à 22:25:15  profilanswer
 

Lut
 
J'ai fait un ptit jeux de casse brique avec Allegro et Dev C++... C'est un casse brique tout con (je debut c mon 2eme jeux avec allegro)
 
En fait j'ai un probleme (en + d' autres bugs mais c juste des truc que g pas encore fait/mal fait):
 
Il y a une ligne blanche qui apparait sur l'ecran tout le temps aleatoirement... A vu de nez elle fait 1 Pixel de hauteur et la largeur de l'ecran...
 
Quand je diminue la vitesse d'execution ( avec un rest(10) je voi les ligne qui parcour l'ecran de haut en bas...
 
Qu'est ce que je peux faire???
 
(J'upload la source et l'executable si ca peux servir)
 
merci


Message édité par Toam le 28-10-2003 à 20:03:04
mood
Publicité
Posté le 27-10-2003 à 22:25:15  profilanswer
 

n°552042
Toam
Posté le 27-10-2003 à 22:52:21  profilanswer
 

Alors le prog:
http://192.70.34.57/toam/Allegro/Casse%20Brique.exe
 
Dll pour le prog a mettre dans le meme dossier:
http://192.70.34.57/toam/Allegro/alleg40.dll
 
Et le code:
http://192.70.34.57/toam/Allegro/Casse%20Brique.cpp
 
Je presise quand meme les bug connu (ils ont rien a voire je pense mais bon):
- Pas de detection de collision sur "l'arriere" des briques
- Bug ou la balle reste bloquer entre la raquete et le mur gauche
- On peux pas gagner (je jeu stop que si on pert ou si on fait escape)


Message édité par Toam le 27-10-2003 à 22:53:39
n°552097
red factio​n
Posté le 28-10-2003 à 00:00:13  profilanswer
 

bo ptit prog j'aime bien (c simple mais bon)
 
jai aussi le probleme des lignes blanche (donc c pas un probleme venant de ta carte graphique)
 
un autre truc que jai remarque c la balle qui se colle et longe le pad au lieu de rebondir (meme qui rebondit qd meme a la fin)
 
je regarde le code mais je te promet rien jai utilise Allegro qu'une seule fois, dhabite jutilise directement les api (directx, opengl)

n°552176
Toam
Posté le 28-10-2003 à 09:23:55  profilanswer
 

oki merci, (ca c'est le bug 2 en fait) Je pense que c'est quand je fais le test de collision et que la balle est deja deriere la raquette...
Pour les ligne blanches j'ai tester chez un pote ca le fait aussi... Peut etre un truc d'allegro alors si tu l'a aussi

n°552181
Joel F
Real men use unique_ptr
Posté le 28-10-2003 à 09:26:59  profilanswer
 

1) Utilise un double buffer au lieu de tout blitter comme un mal propre.
2) mets tes balles/raquettes etc ... dans des bitmaps et utilise draw_sprite()
3) utilise vsync() pour te synchroniser sur le balaygae ecran.

n°552450
kjus
Posté le 28-10-2003 à 12:40:38  profilanswer
 

la solution : double buffering.
Tu crée un bitmap de la taille de l'écran, tu dessine tout dedant (draw_sprite()) et à la fin de ta boucle de jeu tu blit ce buffer sur l'écran.
Sinon, au lieu de faire de multiples Brique1.Draw(); brique2.Draw(); .. je te conseillerai de faire un tableau de cBrique (ou mieux utilise un vector).

n°552601
Toam
Posté le 28-10-2003 à 14:37:54  profilanswer
 

Merci beaucoup pour vos reponse pour la 3) de joel je l'utilise deja...
 
Donc si j'ai bien compris la soluce est le Double Buffering, j'vais modifier mon code avec vos conseil... encore merci :)
 
Et pour le tableau j'y avais pas penser car j'ai pas encore lu ce chapitre dans mon bouquin lol

n°552604
Joel F
Real men use unique_ptr
Posté le 28-10-2003 à 14:38:39  profilanswer
 

toujours groupé la creation des bitmap et autres sprite en dehors de ttes boucles d'affichage. this is da rulez :p

n°552941
Toam
Posté le 28-10-2003 à 20:01:39  profilanswer
 

Merci a tous j'ai modifier la source en ajoutant le double buffering :)
 
Et maintenant ca marche nikel (J'ai mi a jour les liens du 2eme post si vous voulez voir ce que ca donne)
 
encore merci ++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [debutant] [Allegro] ligne blanche [Resolut --> Bouble Buffering]

 

Sujets relatifs
[C++]Insérer une ligne dans un fichierdebutant:en cpp il faut aussi un destructeur dans les structs ?
big problème de retour à la ligne[Caml] debutant qq questions
[urgent] probleme avec VBA sous excel 98: Trouver la derniere lignevider 1 seule ligne d'un tres gros formulaire contenant X lignes?
[mysql] Syntaxe ligne de commande pour restaurer une BDD en shellSymbole pour le numéro de ligne ?
[ALLEGRO] utilisez Allegro sous Mac OS X[dedutant] utiliser les progs fait avec Allegro sur un autre PC
Plus de sujets relatifs à : [debutant] [Allegro] ligne blanche [Resolut --> Bouble Buffering]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR