Raz*_*orm 3 flash actionscript-3 flash-cs5
在我的名为Engine的文档类中,stage变量由于某种原因为null:
package game
{
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.Event;
public class Engine extends MovieClip
{
public function Engine()
{
trace(stage); // gives Null
}
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止这个工作正常.我最近刚将两个动态文本字段添加到符号中,突然之间该阶段为空.我真的没有看到这种联系.
这是我第一次使用动作脚本和flash,所以对一切都有点困惑.
好吧,我已经通过在CS5中向舞台添加TLF字体来重现您所经历的内容,这必然是导致它的原因.但是这段代码可以解决你的问题:
public function Engine():void
{
if( !this.stage )
this.addEventListener( Event.ADDED_TO_STAGE, init );
else
init();
}
private function init(e:Event = null):void
{
this.removeEventListener( Event.ADDED_TO_STAGE, init );
trace(stage);
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是在这种情况下创建舞台有一些延迟.我已经发生这种情况并且不知道为什么,所以这就是我处理它的方式.有用!:)
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |