实例化后是否可以将数据发送到八哥对象?
var mStarling:Starling = new Starling(StarlingClass, stage);
或者通过从主类调度事件,然后在八哥类中监听这些事件?
实例化后是否可以将数据发送到八哥对象?
var mStarling:Starling = new Starling(StarlingClass, stage);
或者通过从主类调度事件,然后在八哥类中监听这些事件?
您绝对可以像收听任何其他课程一样使用 Starling 课程收听事件。
例如,在八哥班你可以做类似的事情......
this.addEventListener( "CustomEvent", PROCESS_METHOD );
然后,在您的主要课程中,您可以调用..
dispatchEvent(new Event("CustomEvent"));
如果您想传递值,您需要将事件附加到 mStarling 可以访问的动态对象(如 MovieClip)。或者,您实际上可以创建一个扩展 Event 的对象,您可以调度它而不是 new Event("CustomEvent");
我认为您不能在普通显示对象和八哥显示对象之间传递事件。这背后的主要原因是所有 Starling 显示对象都是在 GPU 上绘制的,或者更确切地说是 stage3d 。
Flash 中的正常事件会遍历整个显示列表。由于 stage3d 不是显示列表的一部分,我不认为 stage3d 对象可以监听您的事件。
我建议您探索像as3 信号这样的选项来实现相同的目标。这应该可以工作,因为 as3 信号独立于显示列表层次结构。