【问题标题】:width of actual drawn pixels in a SpriteSprite 中实际绘制像素的宽度
【发布时间】:2013-07-16 19:19:42
【问题描述】:

我是 Actionscript 初学者。最终我想编写一些代码来安排舞台上的对象,为此我需要知道它们的尺寸。我从“宽度”属性中得到了我没想到的行为。在下文中,无论我在 TextField 中使用什么文本(无论是窄还是宽),“width”属性都是 100。如何找出绘制像素的实际宽度是多少?还是实际身高?这就像找到一个边界矩形,就像 Qt 所说的那样。如果我想在边界矩形内包含所有的孩子呢?

public class App1 extends Sprite {

public function App1() {
  var t:TextField = new TextField();
  t.text = "Foo Foo";
  addChild(t);
  trace(t.width);
}
}

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    这是因为默认情况下,TextField 中的文本不会影响实际的文本字段大小。 想象一下,您放置一个文本字段来收集用户电子邮件,如果用户广告越来越多的文本,您不希望文本字段伸展...... 所以默认情况下,一个新的 Textfield 是 100 px 宽,不管它包含什么文本。 但是,您可以通过弄乱 autoSize 属性来使 TextField 动态增长。

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#autoSize

    试试这个:

              var t:TextField = new TextField();
              t.autoSize = TextFieldAutoSize.LEFT;
              t.text = "Foo Foo qdfqsdfqsdfq sdfqsdfqsdfqsdf qsdf";
              addChild(t);
              trace(t.width);
    

    请记住,如果 multiline 设置为 true,则文本字段不会变宽,它会到达下一行...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 2014-06-27
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多