Déplacement d'image et proportions

dullbrain Messages postés 29 Date d'inscription mardi 15 décembre 2009 Statut Membre Dernière intervention 12 novembre 2010 - 1 nov. 2010 à 17:17
dullbrain Messages postés 29 Date d'inscription mardi 15 décembre 2009 Statut Membre Dernière intervention 12 novembre 2010 - 12 nov. 2010 à 18:53
Bonjour à tous,

Pour fixer le contexte : je bosse sur un projet d'interaction en cours, et voici quel est mon objectif :
En gros il s'agit d'un jeu TV japonais dans lequel un mur en polystyrène percé d'une forme s'avance vers un joueur. Le joueur doit plier son corps de manière à passer dans la forme, sinon le mur l'entraine et le pousse dans une piscine.

Dans mon cas, ça va se traduire par un gars dont la position va être acquise par webcam, et comparée à des motifs prédéfinis. Cette partie là ne pose pas problème, je me sers d'Eyesweb (pour ceux qui connaissent).
Là où je m'interroge par contre, c'est au niveau de l'interface, que j'avais pensée faire en VB. Il s'agirait de prendre une image, le fameux mur percé d'une forme, et de le faire, au cours du temps, avancer dans l'écran, vers le joueur.
Je vois comment mettre l'image dans un picturebox à l'origine, mais pour la notion de mouvement, tout en respectant les perspectives, j'avoue que je suis plus perplexe...

Auriez vous des idées sur comment je pourrais m'en sortir ?

Merci d'avance :)

3 réponses

Utilisateur anonyme
4 nov. 2010 à 21:59
Salut,
Il faudrait créer 2 picturebox :
Une première pour le mur (qui est loin disons en haut à gauche de ta Form et très petite)
Une plus grosse pour le joueur (en bas au milieu)
A la fin, les 2 picturebox auront la meme taille puisque le mur sera au même niveau que le joueur.
L'idée serait de tracer deux lignes fictives avant le mouvement entre les 2 picturebox (mur et joueur) :
Une première du coin haut gauche du mur vers le coin haut gauche du joueur.
Et une seconde du coin haut droit du mur vers le coin haut droit du joueur.
Si je me souviens bien de mes cours de maths, on peut se servir des fonctions affines
y = ax + b

Comme on connait les 4 coordonnées graphiques des points de nos 2 droites, on sait calculer a et b pour chaque droite.

Ensuite vient le mouvement pendant lequel il te reste juste à faire varier x pour trouver y et ceci pour les 2 droites.
Ensuite grâce à x et y des 2 droites, tu pourras changer la position d'origine de ton mur (premiere droite) et sa largeur (2eme droite).
La hauteur du mur étant proportionnelle à sa largeur elle sera vite calculée (règle de trois).
Bien entendu, la propriété SizeMode du picturebox du mur sera définie sur Zoom pour que l'image grossisse et qu'on ai ainsi l'impression qu'il avance vers le joueur.
Bon courage.
0
Utilisateur anonyme
4 nov. 2010 à 22:09
Re,
Petit rectificatif :

Il faut faire varier y et non x.
y (haut du picturebox du mur) étant commun aux 2 droites.

A bientôt.
0
dullbrain Messages postés 29 Date d'inscription mardi 15 décembre 2009 Statut Membre Dernière intervention 12 novembre 2010
12 nov. 2010 à 18:53
Désolé pour la réponse un peu tardive !

Merci pour tes conseils, je m'en suis fortement inspiré !
Au final, je vais faire démarrer une image du milieu haut de ma form, et l'agrandir en fonction de tics de timer, et à chaque fois faire un repositionnement !
Merci encore !
0
Rejoignez-nous