Besoin d'aide avec DirectDraw 7

cs_gui2 Messages postés 1 Date d'inscription samedi 24 mars 2001 Statut Membre Dernière intervention 24 mars 2002 - 24 mars 2002 à 04:35
ShadowMaster Messages postés 184 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 18 août 2005 - 29 mai 2003 à 15:54
J'aimerais savoir comment Blitter ( Blt, BltFx...) une surface avec des coordonnées dépassant les limites de la surface cible sans qu'elle disparaisse.

Autrement dit, je veux pouvoir écrirer:

Backbuffer.Blt DDRect(-50,-100,50,100)...

Qu'il y aye une partie de l'image que l'on voit pas( à l'extérieur de l'écran ...

Merci pour votre aide :big)

2 réponses

cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
25 mars 2002 à 11:47
salut

ouai c le truc chiant avec dx, mais il te faut pareil avec ddrect, définir la zone de l'image source que tu prend pour donner un effet de coupure, mais tu ne peu pas dessiner a l'exterieur meme un peu sinon l'image n'apparait pas, tou est dans les calculs !!

a+
0
ShadowMaster Messages postés 184 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 18 août 2005
29 mai 2003 à 15:54
Au lieu de metre "-50" et "-100" met plutot +50 et +100 et change les coordonnée X et Y de ta surface du genre si ta surface fait 640*480 et que tu ve la metre a -50 en X et -100 en Y fait de la sorte: backbuffer.BltFast 0,0, Surface, ddRect(50, 100, 640, 480), DDBLTFAST_WAIT
c'est a dire que la surface sera poser au coordonnée 0,0 et sera afficher a partir du coin superieur 50,100.
Si ton image doi subir un deplacement en cours de l'execution tu pe metre des variable du genre: backbuffer.BltFast 0+A,0+B, Surface, ddRect(50+A, 100+B, 640, 480), DDBLTFAST_WAIT
voila :)
seul les invisibles survivent...
0
Rejoignez-nous