begin process at 2012 05 26 15:58:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

as3 - rotation d'un cercle autour de son centre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

as3 - rotation d'un cercle autour de son centre

lundi 22 décembre 2008 à 10:09:50 | as3 - rotation d'un cercle autour de son centre

gogomonster

Bonjour!
Après quelques heures à chercher une solution, je me tourne vers vous en espérant trouver une réponse à mes 2 questions:

- la première étant que j'aimerais faire tourner mon cercle autour de son centre avec matrixTransformer mais je n'arrive pas à paramétrer le bout de code que j'ai récupéré
Voici le début de mon code:

//
import flash.display.*;
import flash.geom.Matrix;
import flash.geom.*;
import fl.motion.MatrixTransformer;

var cercle: Shape = new Shape ();
var degrade:Matrix = new Matrix();

degrade.createGradientBox(60,1);
cercle.graphics.beginGradientFill(GradientType.LINEAR,[0xEEEEEE, 0x4D4D4D], [1, 1], [0, 255], degrade);
cercle.graphics.drawCircle(30,30,30);
cercle.x=cercle.y=0;
addChild(cercle);

// jusqu'ici tout va bien!
// maintenant la suite:
function rotate(e:Event){
         cercle.rotation += 1;

          replaceWithAnchor(anchor);                                                                            // repositionne le clip pour que l?ancre reste au meme point

        function createAnchor(target:DisplayObject, x:Number, y:Number) {                  // crée et prépare une ancre pour gérer la rotation du clip

          
                 var anchor:Object = new Object();
                 anchor["target"] = target;
                 anchor["x"] = x;
                    anchor["y"] = y;
                    anchor["angle"] = Math.atan2(target.y - y, target.x - x) - Math.PI*target.rotation/180;
                    anchor["distance"] = Math.sqrt(Math.pow(target.x - x, 2) + Math.pow(target.y - y, 2));
                    return (anchor);
 }

cercle.addEventListener(Event.ENTER_FRAME,rotate);
var anchor:Object = createAnchor(cercle, 15, 15);
// replace le clip après une rotation
 function replaceWithAnchor(anchor:Object) {
     var localx = anchor["distance"] * Math.cos(anchor["angle"] + Math.PI*anchor["target"]["rotation"]/180);
    var localy = anchor["distance"] * Math.sin(anchor["angle"] + Math.PI*anchor["target"]["rotation"]/180);
     anchor["target"]["x"] = anchor["x"] + localx;
     anchor["target"]["y"] = anchor["y"] + localy;
 }  }
// étant débutante en as3, et pas très douée en trigo, je suis un peu perdue là....avec ce code, si quelqu'un a une solution plus simple je veux bien !!!

-2ème question: je voulais appliquer un dégradé au contour de mon cercle et non à mon cercle entier, afin que le centre de ce cercle soit transparent, je me doute que ça doit être faisable mais j'ai essayé avec lineGradientStyle sans succès....

Merci à vous !!!

  GoGoMonster Powers
lundi 22 décembre 2008 à 10:12:30 | Re : as3 - rotation d'un cercle autour de son centre

gogomonster

oups pardon j'ai collé un bout de code qui n'a rien à voir avec matrixTransformer, qui est une autre solution que j'ai essayé sans succès non plus (ce qui est certainement dû à mon manque d'expérience ;))
mardi 23 décembre 2008 à 10:32:39 | Re : as3 - rotation d'un cercle autour de son centre

pegase31

Membre Club Administrateur CodeS-SourceS
Bonjour,

Pourquoi ne crées-tu pas ton cercle en 0,0 tout simplement plutôt que de le créer à 30,30 ?
Ca t'éviterai de faire tout ce mic-mac pour rien et te permettrais de le bouger simplement en son centre sans rien modifier ...

Peg'


Cette discussion est classée dans : math, rotation, cercle, anchor, target


Répondre à ce message

Sujets en rapport avec ce message

problème de reaction des voitures lors d'une collision [ par pimfanfan ] j'ai un petit problème pour mon jeu de voiture pas comme les autres lol:lors des collisions entre les deux voitures ,je n'arrive a programmer leur rea rectangle avec coins arrondis [ par on_drag_on ] Bonsoir!... ou bonjour! (selon). Voilà passer des heures a essayer de faire un prototype d'un rectangle avec coins arrondis. Mais j'ai beau relire et question sur angle de sourie, rotation de clip.... [ par flow38 ] Salut alors, voila pour un site j'ai fait une interface ou face a un coffre fort l'internaute devra faire tourner les bagues afin d'obtenir le bon cod la graviter ?? [ par oliver7 ] bjr Voila j'ai une fleche qui pointe vers la souris et que des qu'on apuis sur la une touche  la fleche par vers la souri ,mais voila elle ne retombe Casse tête avec le setInterval [ par claviskass ] Bonjour à tous Voici un début de code, c'est une animation tout en AS avec une pause à chaque extrémité du mouvement. </FON Rotation d'un cercle par rapport au mouvement de la souris [ par Ang3lo ] Bonjour à tous,Je fait une anim en Flash et je voudrais faire tourner 2 cercles en fonction du mouvement de la souris. Quand la souris bouge horizonta Plusieurs problemes, surtout de trigonométrie :-( [ par Wally57 ] Bonjours à tous ! Voilà mes problèmes...J'essaie de faire une sorte de chaine composée de barres, qui bougerai en fonction de la souris, quand celle c amelioration d'un super composant [ par zayn ] Bonjour, je cherche a ameliorer le composant suivant: menu qui reprend l'effet du dock de mac os x (zoom sur une icone quand la souris s'approche). Da Collision balle avec un coin en quart de cercle [ par badben ] Bonjour je suis en train de développer un jeu de golf.J'aimerais que quelqu'un me corrige mon code. En effet j'ai des soucis cocnernant le rebond sur Rotation d'un cercle [ par Aleanar ] Bonjour, J'ai créé un cercle, je l'ai transformé en symbole (clip). Maintenant, j'aimerais le faire tourner autour de son centre avec la propriété _ro


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales