sunshine1016
Messages postés7Date d'inscriptionmercredi 11 avril 2012StatutMembreDernière intervention11 avril 2012
-
21 avril 2009 à 10:24
sunshine1016
Messages postés7Date d'inscriptionmercredi 11 avril 2012StatutMembreDernière intervention11 avril 2012
-
25 avril 2009 à 12:06
Bonjour,
Je vous expose mon idée:
J'ai deux éléments sur ma scène: une molette et une bande d'image(comme une pellicule photo). Je voudrai que quand je tourne ma molette (par du drag and drop je pense) la scène défile en proportion. Pour l'instant je n'arrive pas à coordonner les deux.
Pour que vous compreniez bien l'idée c'est comparable à une molette d' Ipod qui fait défiler le menu sur l'écran (sauf que moi c'est de gauche à droite, et que c'est des images qui défilent). Enfin j'ai pile 12 images à faire défiler (probablement utile car tous les 30 degrés de la molette on doit avoir changé d'image) et donc en une rotation de molette on a fait pile le tour des 12 images.
Pour l'instant j'utilise ce code:
[spoiler=]
_root.onEnterFrame = function () {
// Ce qui fait déplacer le slide
if (_xmouse < 350) slider._x += (375-_xmouse)*0.1;
if (_xmouse > 400) slider._x += (375-_xmouse)*0.1;
if (slider._x > 750+slider._width*0.5) {
slider._name = "temp";
slider_l._name = "slider";
temp._name = "slider_l";
}
if (slider._x < 0-slider._width*0.5){
slider._name = "temp";
slider_r._name = "slider";
temp._name = "slider_r";
}
}
/spoiler Ma question est donc: comment je peu agir sur la position du slide depuis la molette (c'est surtout le fait qu'elle soit ronde qui me pose problème,mais c'est important).
ChasseurDeChimeres
Messages postés292Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention15 janvier 20133 21 avril 2009 à 16:32
Salut;
Il faudrait que lors d'un evenment "onMouseDown" placé sur ta molette tu lance une fonction "enter_frame" qui mettra en relation la position de la vignette et celle du slide (genre "slider._x = (molette._rotation/360)*12" (j'invente là, il faudra adapter ça a ton cas)).
en espérant t'avoir fourni une piste, ++.
ChasseurDeChimeres
Messages postés292Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention15 janvier 20133 21 avril 2009 à 20:04
Re;
Si j'ai bien compris, je ne vois pas d'autre solution que de stocker la valeur de la rotation dans une variable au moment du changement de frame et une fois sur dans la nouvelle frame de déplacer ton slide en fonction de cette valeur.
sunshine1016
Messages postés7Date d'inscriptionmercredi 11 avril 2012StatutMembreDernière intervention11 avril 2012 21 avril 2009 à 17:56
Oui ça m'aide pas mal, mais juste, comme définir un point en particule à ma roulette( un point de référence pour aligner ma pellicule en fonction de ce point), ou lui donner un sens. une chose que j'avais pas précisé c'est que j'aurai par exemple 6 frames différente avec 6 pellicules différentes avec la molette en commun. Donc quand je change de frame je change de série d'image mais l'image au centre doit tenir compte de comment est tourné la molette.
(Ex: Je suis sur la frame 1, ma molette est tournée à 60 degré ça correspond donc à la troisième images de la frame 1. Comment faire pour que quand je vais sur la frame 5 par exemple et bien directement la pellicule se centre sur l'image 3 de la frame 5 (puisque la molette n'aura pas bougé))
sunshine1016
Messages postés7Date d'inscriptionmercredi 11 avril 2012StatutMembreDernière intervention11 avril 2012 22 avril 2009 à 11:37
Merci tu m'as fait déjà bien avancer,
cependant il me reste un dernier problème, je veux que ma molette reste sur place, et seulement qu'elle effectue une rotation, hors pour l'instant si je la contraint à rester sur place lors du début du déplacement (this.startDrag(false, 400, 495, 400, 495)) la molette ne peu simplement plus bouger, je n'arrive pas à la faire tourner sur elle même.