1

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

或者通过从主类调度事件,然后在八哥类中监听这些事件?

4

2 回答 2

1

您绝对可以像收听任何其他课程一样使用 Starling 课程收听事件。

例如,在八哥班你可以做类似的事情......

this.addEventListener( "CustomEvent", PROCESS_METHOD );

然后,在您的主要课程中,您可以调用..

dispatchEvent(new Event("CustomEvent"));

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

于 2011-11-07T20:06:02.207 回答
1

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

Flash 中的正常事件会遍历整个显示列表。由于 stage3d 不是显示列表的一部分,我不认为 stage3d 对象可以监听您的事件。

我建议您探索像as3 信号这样的选项来实现相同的目标。这应该可以工作,因为 as3 信号独立于显示列表层次结构。

于 2011-11-24T22:34:13.890 回答