晕...我使用动作脚本制作了一个文本字段。这是代码:
var tf:TextField;
但是当我想把它放在一些坐标中时,默认注册点在文本字段的左上角......如何将其更改为文本字段的中间。
谢谢。
晕...我使用动作脚本制作了一个文本字段。这是代码:
var tf:TextField;
但是当我想把它放在一些坐标中时,默认注册点在文本字段的左上角......如何将其更改为文本字段的中间。
谢谢。
动态生成内容时,注册点始终位于 (0,0)。
您可以按照@randunel 的建议进行矩阵变换,也可以简单地找到“tf”的中间并在那里设置坐标:
var fieldWidth=tf.textWidth;
tf.x=20+(fieldWidth/2);
如果你想移动注册点,你实际上必须移动内容,而不是容器的点(这是固定的)。为此,您必须使用转换矩阵 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);
其中leftValue
和upValue
是负数值,等于文本字段大小的一半。因此,文本字段被移动,容器的注册点位于文本字段的中间。