0

我正在尝试创建一个 TextField,用一些文本填充它并获取此文本尺寸,但是当我尝试这样做时:

var baka:TextField = new TextField();
baka.autoSize = true;
baka.htmlText = 'Hello World!';
trace(baka.textWidth); // undefined
trace(baka._width); // undefined

我得到.textWidth._width只是undefined。为什么会这样以及如何解决?

4

1 回答 1

1

AS2 需要使用createTextField方法调用。AS3 提供了实例化 TextField 对象并将其添加到舞台的能力,就像您尝试做的那样。

这是一个 AS2 示例,它应该适用于您尝试使用 AS2 执行的操作。

var baka:TextField = _root.createTextField("baka",stage.getNextHighestDepth(),10,10,200,50);
baka.autoSize = true;
baka.htmlText = 'Hello World!';
trace(baka.textWidth);
trace(baka._width);

请注意以下事项:

  1. 您需要进行更改_root以匹配您尝试添加的对象TextField
  2. 如果将 TextField 的属性设置为 true ,则方法调用中的 width 和 height 参数createTextField将没有任何意义autoSize
于 2012-11-18T19:12:26.753 回答