le pro masterchief
Messages postés57Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 9 avril 2008
-
29 sept. 2007 à 23:09
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024
-
9 oct. 2007 à 08:34
Bonjour
J'ai un problème avec directdraw, je suis en train de faire un jeu de mario et je charge un niveau qui est interpréter dans mon application qui charge tous les image avec leur propriété corecte mais dès que leur position x ou y sort de la fenetre ils disparaissent.
Je pense qu'il faut utiliser les fonctions rect mais je sais pas trop comment.
Merci
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 2 oct. 2007 à 10:49
Bonjour
J'avais un pb équivalent, je l'ai solutionné en faisant en sorte que l'orsque une image atteint le bord de rogner l'image à afficher, cela fonctionne, mais si tu veux le code (il faudras que je parte avec tous mon matos de spéléo pendant un moment) il te suffit de demander.
Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 9 oct. 2007 à 08:34
Bonjour
Voila ce que j'ai retrouvé :
Public Sub PaintSprite(Sprite As
DirectDrawSurface7, ByVal X As Long, ByVal Y As Long, Optional ByVal
Width As Long 64, Optional ByVal Height As Long 64)
Dim X1 As Long
Dim Y1 As Long If X < 0 Then X1 0 Else X1 X If Y < 0 Then Y1 0 Else Y1 Y
If X + Width > 799 Then Width = 799 - X + 1 'Condition
If Y + Height > 599 Then Height = 599 - Y + 1 'Condition
Dim rSprite As RECT If X < 0 Then rSprite.Left Abs(X) Else rSprite.Left 0 If Y < 0 Then rSprite.Top Abs(Y) Else rSprite.Top 0
rSprite.Bottom = Height 'Y + Height
rSprite.Right = Width 'X + Width
Call BackBuffer.BltFast(X1, Y1, Sprite, rSprite, DDBLTFAST_SRCCOLORKEY Or DDBLTFAST_WAIT)
End Sub