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
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
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