Besoin d'aide pour colision d'image

Résolu
Signaler
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016
-
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016
-
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

15 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
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
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
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.
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
des images qui bougent ?

va falloir être plus précis et utiliser davantage de termes techniques...

DirectX ?
Images transparentes ?
...
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

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
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
le contenu non transparent des images, je suppose...
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

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 ^^'
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
ca ne réponds pas a ma question. Je demande juste si tu souhaites bien tester la colision exacte, au pixel non transparent pret...

1ere étape, regarder si les deux Bounding-box se chevauchent (les objets image, quoi)


quel taille font tes images ?
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

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 ..
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
tes rectangles peuvent ils tourner sur eux même ? ou sont ils "droits" => parallèle aux bords de l'ecran ?
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

non il sont droit
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

Le lien que tu m'a passer c'est du c++ j'aimerai en vb6.0 =)
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

ok merci je testerai plus tard merci d'avoir consacrer ton precieux temps a m'aider je te dirai si sa marche ..
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

Ro sa m'ennerve j'arrive pas a le faire fonctionner le code .. je sais niveau colision je suis un noob .. tu peux m'expliquer steplait ..?
Merci ..
Messages postés
89
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 avril 2016

Ok merci c'est bon sa fonctionne niquel merci de ton aide    
merci =D