Flash Starling调度事件

时间:2011-11-07 19:50:51

标签: actionscript-3 events dispatch starling-framework

是否可以在实例化后将数据发送到starling对象? var mStarling:Starling = new Starling(StarlingClass, stage);

或者从主类调度事件然后在starling类中监听这些事件?

2 个答案:

答案 0 :(得分:1)

你绝对可以像使用其他类一样使用Starling类来监听事件。

例如,在starling类中,您可以执行类似..

的操作
this.addEventListener( "CustomEvent", PROCESS_METHOD );

然后,在您的主要课程中,您可以致电..

dispatchEvent(new Event("CustomEvent"));

如果您想传递值,则需要将事件附加到mStarling可以访问的动态对象(如MovieClip)。或者您实际上可以创建一个扩展Event的对象,而不是新事件(“CustomEvent”);

答案 1 :(得分:1)

我认为你不能在普通显示对象和八哥显示对象之间传递事件。这背后的主要原因是所有Starling Display Objects都是在GPU上绘制的,或者更确切地说是stage3d。

Flash中的普通事件遍历整个显示列表。由于stage3d不是显示列表的一部分,我不认为stage3d对象可以听你的事件。

我建议你去探索像as3 signals这样的选项来实现同样的目标。这应该有效,因为as3信号独立于显示列表层次结构。