Fair controler un scène par une molette

Résolu
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 avril 2012 - 21 avril 2009 à 10:24
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 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;

    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

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
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, ++.
3
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
21 avril 2009 à 16:34
ha j'oubliais il faut aussi que tu mette un "onMouseUp" sur la molette pour y mettre un "removeEnterFrame" pour arreter la rotation.
3
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
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.
3
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 avril 2012
21 avril 2009 à 10:26
Ne vous laisser pas perturber pas les balises "spoiler", je voulais éviter le pavé de code,dsl.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 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é))

Mais merci déjà pour ce première éclairage!
0
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 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.

Merci d'avance.
0
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 avril 2012
23 avril 2009 à 15:11
Une petite réponse svp, ca devrait être la dernière!
0
sunshine1016 Messages postés 7 Date d'inscription mercredi 11 avril 2012 Statut Membre Dernière intervention 11 avril 2012
25 avril 2009 à 12:06
T'es pistes étaient bonnes, merci.
0
Rejoignez-nous