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
Utilisation :
PaintSprite Image,PositionX,PositionY,TailleX,TailleY
Si ta résolution est différente de 800*600, il faut changer les conditions des 2 If (commentés 'Condition)
Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site