begin process at 2012 05 29 01:30:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

c++ builder visual: probleme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

c++ builder visual: probleme

vendredi 4 mars 2005 à 17:43:50 | c++ builder visual: probleme

HUSNET

Slt
En fait, je suis en train de concevoir un jeux de casse-briques sur c++builder visual
mais l'ensemble de mes images (qui sont situés dans l'accolade du timer) n'arrêtent
 pas de clignoter, ce qui est vraiment embêtant et si quelqu'un pourrait me 
conseiller pour résoudre ce probleme, ce serait bien gentil.
Merci d'avance pour vos réponses.. 

dimanche 6 mars 2005 à 12:30:26 | Re : c++ builder visual: probleme

otofraise

Salut,

Le clignotement viens du rafraichissement de l'image si tu realise le trace de ta scene directement dans le TCanvas du composant qui te sert a afficher. En effet, tu dessine ta premiere image, et avant de dessiner la deuxieme tu nettoie le Canvas pour qu'il n'y ait pas de reste de la precedente image dans le zone de la seconde ou tu ne dessin pas (arf peut etre pas tres clair tout ca)

Le probleme vient du fait que le faible temps ou ton canvas redevient vide (rempli avec ta couleur de fond) n'est pas assez faible pour ne pas etre afficher. Et comme tu ractualise souvent et bien tu as un effet "stroboscopique" tres desagreable.

La solution (et oui yen a une) c'est de travailler avec un "Back Buffer". En fait tu vas realiser ton image en memoire et seulement une fois qu'elle sera prete tu va l'afficher dans ton cmposant. Ainsi ce dernier sera rafraichi avec le nouvelle image et non avec la couleur de fond sur laquelle on va petit a petit place les different traces. Avec builder tu peut utiliser le TBitmap pour joueur le role du back buffer.

Voila un petit exemple :

#include <Graphics.hpp>

void __fastcall TForm1::Timer1Timer(TObject* Sender)
{
    //Creation d'un TBitmap aux dimensions du composant servant a afficher la scene
    Graphics::TBitmap* BackBuffer = new Craphics::Bitmap();
    BackBuffer->Height = PaintBox->Height;
    BackBuffer->Width = PaintBox->Width;

    //Fonction affichant la scene (parametre : TCanvas*)
   TracerImage(BackBuffer->Canvas);

    //Affichage de l'image contenue dans le BackBuffer sur le canvas du composant
    PaintBox1->Canvas->Draw(0, 0, BackBuffer);

    //Liberation memoire
    delete BackBuffer;
}

Biensur, il est conseille de creer le BackBuffer a la creation de la Form, et de le detruire une fois l'application terminee pour des raisons de performance (en effet les dimensions du bitmap ne change pas durant tout le temps de l'application).

Voila j'espere t'avoir eclaire sur la source de ton probleme et le moyen de le resoudre.

Si je n'ai pas ete assez clair dans mes explications, n'hesite pas

Oto


Cette discussion est classée dans : visual, probleme, builder


Répondre à ce message

Sujets en rapport avec ce message

Enorme probleme lors de la compilation avec Visual C++ 6 [ par hepho ] Alors mon probleme est le suivantlorsque que je desire compiler mon programme une erreur apparaitLe pilote de clavier specifie par la ligne KEYBOARD = visual c ou c++ builder [ par seb ] Bonjour,La question est simple.Lequel de ces deux environnements est le plus adaptes a l'avenir, et quelle librairie entre mes mfc et la vcl est la pl Probleme avec Borland C++ Builder 5 [ par mantalotus ] Voila avec la fonction suivant je souhaiterai enregistrer les infos contenue dans Memo2 dans un fichier .txt mais en mode binaire. Comment dois-je fai PROBLEME EN resource Script (.rs) (visual c++) [ par elboras ] PROBLEME EN resource Script (.rs) Salut, j'ai un problême avec VISUAL C++ Je créé un nouveau fichié et je clique sur TOOLS , APP STUDIO . Ensuite quan Probleme Communication [ par fytlos ] Salut a tous,Voila je travaille sur une application distribuée ou l'on peut assimiler chaque entités a un programme en C++Dans le modele toutes les en Probleme avec Visual C++ [ par pipic ] Lorsque je compile mes fichiers .cpp avec le compilateur de visual c++, j'obtiens tjs la meme erreur :fatal error C1010: unexpected end of file while probleme d'ecriture sous visual c++ [ par f1cobra ] Salut J'ai un probleme avec ma base de donnees, quand je veux enregistrer dans un recordset comprenant plus d'une table, il refuse me disant que la ta Probleme de portabilité avec C++ Builder 6 [ par Arch0s ] Salut a tous,Voila, je suis passé a C++ Builder 6 (a ne pas confondre avec C++ Compiler !) mais le problème est que lorsque j'ai compilé mon programme Probleme avec Visual C++ [ par chabichabs ] J'ai un petit souci avec les ressources des boites de dialogue.Je crée un new projet et quand j'insère une ressource après les scroll bar (slider, pro Probleme Visual C++ et OpenOffice [ par neric69 ] BonjourJ'aimerai communiquer avec OpenOffice via Visual C++ mais je n'y arrive pas je voudrai savoir si quelqu'un l'a deja fait et si il peut deposer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales