l'animation sans directx est évidemment beaucoup moins rapide. Néanmoins Ce type d'animation peut être ludique pour ceux qui ne veulent pas se pencher sur Directx, pour ceux qui souhaite faire de petits jeux... lents. Il y a certainement la possibilité encore ici d'optimiser le code et de gagner du temps ! notions abordées (timer, picturebox...)
olivier1664 il ne s'agit pas d'un jeu... bien sûr mais d'un début de piste possible pour animer l'écran.
sebseb42 je vais travailler à ta proposition dès que j'aurai 5 minutes. Merci bien mec. Un backbuffer ok !
en fait je ne vais pas poster de source, mais l'idee est en fait de charger les images dans des objet Bitmap (on ne charge qu'une seul fois l'image de l'etoile et non pas 3 fois pour 3 etoiles... il suffira d'en dupliquer une)
ensuite on creer un buffer (Bitmap) et on trace les images dans l'image mere, et ensuite on affiche l'image mere a l'ecran
par exemple :
Bitmap etoile = new Bitmap("etoile.gif");
Bitmap tank = new Bitmap("tank.gif");
Bitmap backbuffer = new Bitmap(640, 480);
et ensuite :
Graphics gr = Graphics.FromImage(backbuffer);
// ici on recupere le Graphics du backbuffer pour pouvoir
// tracer dedans
pictureBox.Image = backbuffer;
// ici on affiche (en quelque sorte :))
Le prototype de la fonction DrawImage n'as pas vraiment ete respecter car il existe beaucoup de surcharges differente, et puis ce bout de code est vraiment plus pour montrer l'idee qu'un code reellement utilisable.
c'est pas mal comme source, pour ceux qui souhaite apprendre ce genre de chose, mais je pense que je peux seveirement booster les perfs de ton application avec une approche sensiblement differente, cependant les modif serais compliquer a expliquer ici
est-ce que tu m'autorise a modifier ton code et reposter un code optimiser ?
sebseb42 je vais travailler à ta proposition dès que j'aurai 5 minutes. Merci bien mec. Un backbuffer ok !
ensuite on creer un buffer (Bitmap) et on trace les images dans l'image mere, et ensuite on affiche l'image mere a l'ecran
par exemple :
Bitmap etoile = new Bitmap("etoile.gif");
Bitmap tank = new Bitmap("tank.gif");
Bitmap backbuffer = new Bitmap(640, 480);
et ensuite :
Graphics gr = Graphics.FromImage(backbuffer);
// ici on recupere le Graphics du backbuffer pour pouvoir
// tracer dedans
gr.DrawImage(etoile, etoile_posx, etoile_posx);
gr.DrawImage(tank, tank_posx, tank_posy);
pictureBox.Image = backbuffer;
// ici on affiche (en quelque sorte :))
Le prototype de la fonction DrawImage n'as pas vraiment ete respecter car il existe beaucoup de surcharges differente, et puis ce bout de code est vraiment plus pour montrer l'idee qu'un code reellement utilisable.
Il faudrait un seul control avec une collection d'image et une grosse methode OnPaint().
merci
est-ce que tu m'autorise a modifier ton code et reposter un code optimiser ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.