Problème avec directdraw

le pro masterchief Messages postés 57 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 9 avril 2008 - 29 sept. 2007 à 23:09
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 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

5 réponses

le pro masterchief Messages postés 57 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 9 avril 2008
1 oct. 2007 à 03:27
Up svp
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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
0
le pro masterchief Messages postés 57 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 9 avril 2008
6 oct. 2007 à 19:44
Je suis en train d'essayer ALGORYTHME DE CLIPPAGE D'IMAGE DANS DIRECTDRAW 7 (COMPTATIBLE VC++ 6 ET VB 6)

http://vbfrance.com/codes/ALGORYTHME-CLIPPAGE-IMAGE-DANS-DIRECTDRAW-COMPTATIBLE-VCPLUSPLUS-VB_29932.aspx

Mais si tu aurais un bout de code à me donner pour gérer le rognage d'image lorsque qu'il dépasse de l'écran je t'en serais reconnaissant.
Merci.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 oct. 2007 à 08:12
Bonjour

Je vais voir si j'ai cela en stock (ce soir).

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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

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
0
Rejoignez-nous