gogomonster
Messages postés2Date d'inscriptionmardi 16 octobre 2007StatutMembreDernière intervention22 décembre 2008
-
22 déc. 2008 à 10:09
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
23 déc. 2008 à 10:32
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:
// 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....
gogomonster
Messages postés2Date d'inscriptionmardi 16 octobre 2007StatutMembreDernière intervention22 décembre 2008 22 déc. 2008 à 10:12
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 ;))
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 23 déc. 2008 à 10:32
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 ...