Actionscript 3 如何根据阶段宽度设置文本字段宽度?动作脚本3,as3

Actionscript 3 如何根据阶段宽度设置文本字段宽度?动作脚本3,as3,actionscript-3,flash,Actionscript 3,Flash,有谁能告诉我如何动态调整文本字段的宽度,使其始终略小于舞台的宽度?例如,这是我尝试过的,但它引发了一个错误: var myText:TextField = new TextField(); myText.x = 20; myText.width = stage.stageWidth - 40; //does not work, what stage.addEventListener(Event.RESIZE, adjustTextField); function adjus

有谁能告诉我如何动态调整文本字段的宽度,使其始终略小于舞台的宽度?例如,这是我尝试过的,但它引发了一个错误:

var myText:TextField = new TextField();
    myText.x = 20; 
    myText.width = stage.stageWidth - 40; //does not work, what

stage.addEventListener(Event.RESIZE, adjustTextField);

function adjustTextField():void
{
    myText.x = 20; 
    myText.width = stage.stageWidth - 40;
}
理论上,这段代码应该确保myText始终调整到舞台的全宽,两边都有20像素的边框。但是,这会产生一个错误


有人知道在Actionscript 3中获取文本字段流体宽度的方法吗?

尝试在将myText添加到stage时对stage执行一些操作

var myText:TextField = new TextField();
myText.x = 20;
this.addChild(myText);//add myText to some parent
myText.addEventListener(Event.ADDED_TO_STAGE, onAddToStage);

private function onAddToStage(event:Event):void {

    stage.addEventListener(Event.RESIZE, adjustTextField);
}   

您得到的错误是什么?TypeError:error#1009:无法访问空对象引用的属性或方法。我已经尝试用谷歌搜索该错误,但找不到任何有帮助的内容。不确定的阶段宽度为何会被视为空对象引用。请尝试跟踪(阶段宽度)并查看它打印的内容。听起来您还没有对
阶段的引用。无论此代码在哪个类中,
stage
都将为空,直到实例被添加到显示列表中(例如,通过
addChild
)。