当我改变初始精灵的宽度时,文本框会消失

时间:2011-01-05 04:11:44

标签: actionscript-3

我正在尝试在屏幕上绘制一个文本框。如果我将宽度和高度分配给任何值,如下面的代码所示,我看不到任何绘制的内容。为什么是这样?宽度和高度有什么用? Adobe的文档说它是精灵的宽度/高度(以像素为单位)。为什么会阻塞或阻止绘制文本框或其他框?我假设宽度/高度会设置可以绘制此精灵的区域,但基于此,我可能错了。

提前致谢。

-Nick

package {

import flash.display.Sprite;
import flash.events.Event;
import mx.core.* ;
import mx.collections.* ;
import flash.display.* ;
import flash.text.* ;

[SWF(width=1000,height=500)]
public class BareBones extends Sprite
{
    public var backBuffer:BitmapData;
    public var clearColor:uint = 0xFF0043AB;
    public var display_txt:TextField;
    public var i:uint = 0
    public function BareBones()
    { 
        addEventListener(Event.ENTER_FRAME, step);
        width = 1000;
        height = 500;
        display_txt = new TextField();
        display_txt.text = "Hello World!";
        addChild(display_txt);
    }

    private function step(event:Event) : void
    {
        i++;
        display_txt.text = i.toString();
    }
}

import flash.display.Sprite; import flash.events.Event; import mx.core.* ; import mx.collections.* ; import flash.display.* ; import flash.text.* ; [SWF(width=1000,height=500)] public class BareBones extends Sprite { public var backBuffer:BitmapData; public var clearColor:uint = 0xFF0043AB; public var display_txt:TextField; public var i:uint = 0 public function BareBones() { addEventListener(Event.ENTER_FRAME, step); width = 1000; height = 500; display_txt = new TextField(); display_txt.text = "Hello World!"; addChild(display_txt); } private function step(event:Event) : void { i++; display_txt.text = i.toString(); } }

1 个答案:

答案 0 :(得分:0)

当您在构造函数中设置widthheight时,实际上会影响scaleXscaleY变量,这反过来会影响根transform.matrix

为了了解如何设置scaleX,Flash会处理剪辑内的内容。例如,如果您有一个包含100x100框的MovieClip,并且设置了width = 200,则Flash会计算您的意思是scaleX = 2

但是,您要在其中包含 nothing 的剪辑上设置widthheight。结果是scaleXscaleY都被设置为0。