mat*_*eok 2 stage sprite actionscript-3
如何从自定义类访问舞台,尤其是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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这只会返回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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8343 次 |
最近记录: |