cs_MeSod
Messages postés89Date d'inscriptiondimanche 21 septembre 2008StatutMembreDernière intervention26 avril 2016
-
11 janv. 2009 à 20:59
cs_MeSod
Messages postés89Date d'inscriptiondimanche 21 septembre 2008StatutMembreDernière intervention26 avril 2016
-
13 janv. 2009 à 07:29
Bonjours j'ai un probleme je cherche desesperement un code pour faire que quand deux image se touche l'une s'arrette de bouger pouver vous m'aider car sa fait un moment que je cherche ce code mais je n'en trouve aucun qui convient je suis en train de faire un jeu de combat
Merci de votre aide
Cordialement MeSod
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 12 janv. 2009 à 11:15
je t'ai filé un algorithme...
a saisir l'idée, a recoder.
mais vu que tes rectangles sont droits, la réponse est simplissime... tester si deux rectangles se chevauchent...
Private Function DoesCollide(ByRef voCtl1 As Control, ByRef voCtl2 As Control) As Boolean
Dim oLeft As Control
Dim oRight As Control
If Not Nothing Is voCtl1 And Not Nothing Is voCtl2 Then
If Shape1.Left <= voCtl1 Then
Set oLeft = voCtl1
Set oRight = voCtl2
Else
Set oLeft = voCtl2
Set oRight = voCtl1
End If
If oRight.Left < oLeft.Left + oLeft.Width Then
If oRight.Top < oLeft.Top + oLeft.Height Then
If oRight.Top > oLeft.Top - oRight.Height Then
DoesCollide = True
End If
End If
End If
End If
End Function
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 12 janv. 2009 à 23:11
tu as juste a ajouter la fonction a ton code et faire :
If DoesCollide(Image1, Image2) Then
MsgBox "Collision"
End If
---------
dessine deux rectangles sur une feuille. si collision il y a, y'a pas 36 solutions.
ici, on les prend dans un ordre précis, le plus à Gauche=>1
l'autre, ben c'est le 2.
ensuite, on affine les tests, pour tester la collision
si le bord gauche de l'objet 2 a une abscisse plus petite que le bord droit de l'objet 1, etc.
cs_MeSod
Messages postés89Date d'inscriptiondimanche 21 septembre 2008StatutMembreDernière intervention26 avril 2016 12 janv. 2009 à 10:27
Bonjours
alors j'ai des image au format gif que j'ai mis avec le control "image" j'ai mis le code de deplacement donc mon image bouge niquel vers la gauche et la droite des qu'on appuye sur les fleche du clavier (ja pas besoin des direction haut et bas)
sans directX
donc j'ai :
Image1 et image2
et j'aimerai que des que l'image1 touche l'image2, l'image1 s'arrette
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_MeSod
Messages postés89Date d'inscriptiondimanche 21 septembre 2008StatutMembreDernière intervention26 avril 2016 12 janv. 2009 à 10:37
jai les image donc mon petit bonhomme et je les ouvert avec un programme (paint.net), j'ai suprimmer le blanc autour de l'image et j'ai sauvegarder en .gif donc si il y a de la transparence ^^'
cs_MeSod
Messages postés89Date d'inscriptiondimanche 21 septembre 2008StatutMembreDernière intervention26 avril 2016 12 janv. 2009 à 10:49
les deux image que j'ai sont deux rectangle (4 face donc) et je ve que des que l'une des face de l'image1 touche les face de l'image de l'image 1 s'arrette je n'ai pas besoin de le faire au pixel visible pret je veux juste un code simple etant donner que je ne suis pas un pro ..