2010-10-02 7 views
0

Je travaille sur un projet Flash dans lequel je dois tourner un texte field.I am ROTATIVE le champ de texte en utilisant cette fonction ---rotation d'un champ de texte en AS3

**function rotateAroundCenter(ob:*, angleDegrees) 
{ 

    var m:Matrix = ob.transform.matrix; 
    m.tx -= point.x; 
    m.ty -= point.y; 
    m.rotate(angleDegrees*(Math.PI/180)); 
    m.tx += point.x; 
    m.ty += point.y; 
    ob.transform.matrix = m; 
}** 

point var: point = nouveau point (mc.x + mc.width/2, mc.y + mc.height/2);


je suis le calcul du point de mc central contenant le champ de texte en utilisant le procédé ci-dessus.

J'ai également fourni la fonction de glissement de manière à pouvoir faire glisser le champ de texte. Le problème est quand je tourne le champ de texte disons 45 degrés et puis je le traîne à l'autre position maintenant si je tourne à nouveau le champ de texte il ne tourne pas autour de son centre ou origine, il tourne autour d'un autre point même méthode --- mc.x + mc.width/2, mc.y + mc.height/2 ---

Comment calculer l'origine parfaite d'un champ de texte à tout angle de rotation.

Répondre

0

Utilisez la recherche, l'homme ... here est un exemple avec l'effet Rotation. Vous pouvez adapter les maths à partir de là.

1

Vous faites pivoter mc ou textfield? Si vous faites pivoter le champ de texte, vous devez en obtenir une largeur. La rotation du champ de texte et le déplacement de mc sont les meilleurs pour les performances.

rotateAroundCenter(textField, 45); 
var point:Point = new Point(textField.width/2, textField.height/2); 
Questions connexes