gpt4 book ai didi

actionscript-3 - AS3无法从定制类访问阶段

转载 作者:行者123 更新时间:2023-12-02 06:21:30 25 4
gpt4 key购买 nike

如何从自定义类访问舞台,尤其是Flash Movie的宽度和鼠标位置?

package classes
{
import flash.events.*;
import flash.display.*;

public class TableManager extends Sprite
{
public function TableManager() {
sayStage();
}
public function sayStage():void
{
trace(stage);
}
}
}

这只会返回nill。我知道DisplayObjects在启动之前没有任何阶段,因此您无法在构造函数中访问该阶段,但是即使稍后我将sayStage()作为实例方法调用,它也不起作用。

我究竟做错了什么?

最佳答案

如果TableManager在舞台上,则可以使用this.stage访问舞台。

诀窍是您必须等待实例添加到场景中。您可以监听ADDED_TO_STAGE事件,以便知道何时发生。

package classes {
import flash.events.*;
import flash.display.*;

public class TableManager extends Sprite {
public function TableManager() {
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}

private function onAddedToStage(e:Event):void {
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
sayStage();
}

public function sayStage():void {
trace(this.stage);
}
}
}

关于actionscript-3 - AS3无法从定制类访问阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com