Fair controler un scène par une molette

Résolu
Signaler
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012
-
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012
-
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;

    slider_r._x = slider._x+slider._width;
    slider_l._x = slider._x-slider._width;

//Ce qui sert à fair la boucle
   
    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).

Merci de votre attention!

8 réponses

Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
3
   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, ++.
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
3
ha j'oubliais il faut aussi que tu mette un "onMouseUp" sur la molette pour y mettre un "removeEnterFrame" pour arreter la rotation.
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
3
     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.
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012

Ne vous laisser pas perturber pas les balises "spoiler", je voulais éviter le pavé de code,dsl.
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012

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é))

Mais merci déjà pour ce première éclairage!
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012

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.

Merci d'avance.
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012

Une petite réponse svp, ca devrait être la dernière!
Messages postés
7
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
11 avril 2012

T'es pistes étaient bonnes, merci.