关于构造函数里的stage操作

如果一个类不是文档类的话..那么在它的构造函数里操作stage的话就会出现空对象..

而解决的办法可以用:AddedToStage事件侦听...

如:


package 
{
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import flash.events.MouseEvent;
    
    
/**
     * 
     * 
@author cwin5
     
*/
    
public class test extends Sprite 
    {
        
public function test() {
            
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        }
        
        
private function onAddedToStage(e:Event):void 
        {
            stage.addEventListener(MouseEvent.CLICK, onClick);
        }
        
        
private function onClick(e:MouseEvent):void 
        {
            trace(
"click");
        }
    }
    
}

 

个人认为..文档类初始化时先初始化其它实例...再把本身加入舞台,,然后再执行构造函数..

 

而其由于实例的父级.即文档类未加入舞台..对stage操作则为空..自然会出错..

posted @ 2009-02-23 18:56  大頭  阅读(459)  评论(0)    收藏  举报