我在写 Class文件的时候总会碰到 stage 的初始化问题,只是用下面的方法可以解决初始化的问题。
原因是这样的 :
你在类用到 stage, root 这样的显示列表中的对象时,你要确定你的class的实例已经位于显示列表中了,也就是实际上我们在 new myClass 的时候只是一个实例化,还没有addChild进去,所以在类中用到的 stageWidth 以及 stageHeight 时都要确认 stage != null。
原因是这样的 :
你在类用到 stage, root 这样的显示列表中的对象时,你要确定你的class的实例已经位于显示列表中了,也就是实际上我们在 new myClass 的时候只是一个实例化,还没有addChild进去,所以在类中用到的 stageWidth 以及 stageHeight 时都要确认 stage != null。
- package {
- public class cloud extends MovieClip {
- public function cloud(xml):void {
- addEventListener(Event.ENTER_FRAME,init);
- }
- function init(event:Event):void {
- if (stage==null) {
- return;
- }
- removeEventListener(Event.ENTER_FRAME,init);
- stage.addEventListener(Event.RESIZE,handleStage);
- }
- function handleStage(event:Event):void {
- }
- }
- }