0

晕...我使用动作脚本制作了一个文本字段。这是代码:

var tf:TextField; 

但是当我想把它放在一些坐标中时,默认注册点在文本字段的左上角......如何将其更改为文本字段的中间。

谢谢。

4

2 回答 2

0

动态生成内容时,注册点始终位于 (0,0)。

您可以按照@randunel 的建议进行矩阵变换,也可以简单地找到“tf”的中间并在那里设置坐标:

var fieldWidth=tf.textWidth;
tf.x=20+(fieldWidth/2);
于 2012-12-23T08:48:43.867 回答
0

如果你想移动注册点,你实际上必须移动内容,而不是容器的点(这是固定的)。为此,您必须使用转换矩阵 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html

在您的情况下,仅移动没有比例的内容,您需要:

tf.transform.matrix = new Matrix(1, 0, 0, 1, leftValue, upValue);

其中leftValueupValue数值,等于文本字段大小的一半。因此,文本字段被移动,容器的注册点位于文本字段的中间。

于 2012-12-23T10:27:27.663 回答