Des images qui "défile" au passage de la sourie (simulation 3d)

Leo_Robotic_Passion Messages postés 135 Date d'inscription dimanche 19 novembre 2000 Statut Membre Dernière intervention 2 décembre 2011 - 3 juil. 2005 à 11:04
Vb Lover Messages postés 221 Date d'inscription vendredi 30 novembre 2001 Statut Membre Dernière intervention 13 février 2010 - 3 juil. 2005 à 19:06
Bonjour a tous:)
Voila je cherche a réaliser une sorte de simulation 3d!
je m'esplique :)
imaginer 3 photos d'une voiture.
1 photo vu de face
la 2eme vu de droite
et la 3 eme vu de gauche
au départ l'image ou la voiture et vu de face est affichée!
lorsque l'on bouge la sourie vers la droite l'image vu de droite remplace la vu de face ex...
mon objectif est de pouvoir a l'aide d'environs 8 images voire un objet a "360"
merci pour votre aide :)
@++
Léo

1 réponse

Vb Lover Messages postés 221 Date d'inscription vendredi 30 novembre 2001 Statut Membre Dernière intervention 13 février 2010 5
3 juil. 2005 à 19:06
sans utiliser directX, en restant "très simple", je ferais comme suit:

tu mets tes images dans des "Image" avec l'option Visible=False, que tu
indexes dans un tableau Index=0,1,2,3,..., et tu crées une "PictureBox"
(par exemple) où tu les afficheras. Ensuite, lorsque tu veux changer
d'images, il suffit de faire (avec les bons noms, bien sûr!):



set MyPictureBox.Picture = MyImage(1).Picture



j'espère que j'ai été assez clair pour cette première partie :)

Pour changer d'images avec la souris, il suffit de faire qqch du style
(ici seulement de gauche à droite, et il faut encore initialiser la
valeur de oldX au début)



Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Static oldX As Single



If oldX < X - 10 Then

Set MyPicture.Picture =My Image(1).Picture

oldX = X

ElseIf oldX > X + 10 Then

Set MyPicture.Picture = MyImage(2).Picture

oldX = X

End If



End Sub



le mieux en fait, ça serait de définir une image pour chaque coordonnée
de l'écran, avec la zone centrale correspondant à la vue de face. Dans
un cas simple, tu pourrais faire qqch comme:



Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)



If abs(x-me.width/2)<20 Then

' image
centrale

if MyPicture.Picture <> My Image(1).Picture then


Set MyPicture.Picture =My Image(1).Picture

end if

ElseIf x>me.width/2 Then

' image de droite

if MyPicture.Picture <> My Image(2).Picture then


Set MyPicture.Picture = MyImage(2).Picture


end if

else



' image de gauche

if MyPicture.Picture <> My Image(3).Picture then



Set MyPicture.Picture = MyImage(3).Picture



end if


End If





End Sub



je te laisse ajouter les photos du haut, du bas, ... c'est juste des idées!
0
Rejoignez-nous