Mouvement circulaire

shaloine Messages postés 55 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 26 octobre 2010 - 23 nov. 2009 à 10:02
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011 - 23 nov. 2009 à 18:43
bonjour,
débutant en actionscript j'essai de réaliser une action un peu spécial mais ne trouve pas la solution

explication pour faire au plus simple:
creez 4 points (haut bas droite gauche) sur un cercle qui seront des clips et 1 clip qui sera en forme de quart de cercle



le but étant que au survol d'un des 4 points le quart de cercle vienne se placer devant celui survolé
en tournant comme si il suivait le contour d'un cercle donc en étant toujours orienté vers le centre de l'animation

pour ce qui est de ma recherche personnelle j'arrive à faire tourner le cercle via ._rotation mais je ne pense pas que cela soit la solution car je n'arrive pas à l'arreter à l'endroit voulu
de plus le cercle devra continuer son chemin vers le clip même si l'on ne le survole plus


j'avais réalisé il y'a quelques jours déjà un animation dans le même principe mais les 4 clips étaient aligné et c'était une flèche qui venait se placer sous chaque boutons

var des1:Boolean=false;
var point:Number;
function dep1(){
if(fleche._x==point){
des1=false;
}else{
if(fleche._x>point){
fleche._x=fleche._x-10;
}else{
fleche._x=fleche._x+10;
}
}
}
onEnterFrame=function(){
if (des1){
dep1();
}
}
mc1.onRollOver=function(){
des1=true;
point=100;
}

mc2.onRollOver=function(){
des1=true;
point=200;
}
mc3.onRollOver=function(){
des1=true;
point=300;
}
mc4.onRollOver=function(){
des1=true;
point=400;
}




voila j'espere que vous pourrez m'aider via des petits indices car même après moultes recherche sur le net je ne vois pas comment faire

merci

4 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
23 nov. 2009 à 11:41
Salut

Voilà une proposition :

Tous les clips ont le même centre, donc le centre du cercle formé. Même le clip du point a donc son centre de pivot au centre du cercle.

L'astuce étant de récupérer la rotation du point survolé. Bien sûr les 4 points disposés sur la scène devront avoir la rotation appropriée (1 à 0°, le 2 à 90° puis 180° et 270°).

Lorsqu'un point est survolé, tu déclenches une Tween du clip quart de cercle, depuis sa rotation actuelle vers la même rotation que celle du point survolée.

Doc sur les Tween :
http://zoneflashmx.free.fr/propriete_flash/tween/flash_tween.html

Ca devrait rouler, n'hésites pas si t'as pas compris quelque chose..
0
shaloine Messages postés 55 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 26 octobre 2010
23 nov. 2009 à 11:43
jamais tester les tween je vais lire la doc merci
0
shaloine Messages postés 55 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 26 octobre 2010
23 nov. 2009 à 11:49
le problème c'est aussi que je ne sait pas trop comment définir les angle 0, 90 180 et 270
en gros comment dire 1 = 0° 2=90° etc
et si je survol 1 tu va à 0° (c'est surtout la mécanique interne que j'ai du mal à intégrer quand je la connais pas trop )

pour ce que j'ai vu des tween c'est une manière de gerer la transition des objets
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
23 nov. 2009 à 18:43
Oui c'est cela pour les tween. Très pratique pour gérer tes interpolation de rotations.

Pour définir les angles, si tu clique sur ton point sur la scène, cherche la fenêtre "Transformer", et tu auras un champ "Pivoter". C'est là que tu peux définir 90° par exemple.

Et pour jouer l'animation au survol, tu fais :
(si le 1er point s'appelle 'point1' et le quart de cercle 'quart_cercle')

point1.onRollOver = function() {
   new Tween(quart_cercle, "_rotation", mx.transitions.easing.Strong.easeOut,quart_cercle._rotation, this._rotation, 50, false);
}
0
Rejoignez-nous