2010-08-08 87 views
0

我正在構建一個僅限AS3的項目,並且運行時出現錯誤,提示「無法訪問空對象引用的屬性或方法」。Actionscript 3空對象錯誤消息

這裏是我的代碼:

main.as

 public class videoMain extends Sprite{ 

     private var videoPlayer:Player; 

     public function videoMain(){ 
     loadPlayer() 
     loadProgress(); 
     } 

     private function loadProgress():void{ 

     //the code below gave me null object error.....  
     var byteLoaded:Number=videoPlayer.videoBytesLoaded; //the problem code 
     var byteTotal:Number=videoPlayer.videoBytesTotal; //the problem code 

     var percent:Number=Math.floor(byteLoaded/byteTotal)*100; 
     } 

     private function loadPlayer():void{ 

     videoPlayer= new Player(); 
     videoPlayer.createPlayer(); 
    } 

}

Player.as

public function createPlayer():void{ 

    _loader = new Loader(); 
    _loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit); 
    _loader.load(new URLRequest(playerType)); 

    } 

public function get videoBytesLoaded():Number{ 
    return _Player.getVideoBytesLoaded(); //youtube api method 
    } 

public function get videoBytesTotal():Number{ 
    return _Player.getVideoBytesTotal; //youtube api method 
    } 

private function onLoaderInit(event:Event):void { 
    _Player=_loader.content; 
     //only show part of codes.... 
    } 

I appreciate any help....Thanks!!!!! 

回答

1

_Player只定義Event.INIT已燒成,後定義_Player值之前的任何調用都會引發錯誤。

你應該,至少,有這樣的:

public function videoMain(){ 
    loadPlayer() 
    } 

private function onLoaderInit(event:Event):void { 
    _Player=_loader.content; 
    //only show part of codes.... 
    loadProgress(); 

} 

但進展事件不是靜態的,所以真的是你應該以聽變化值有enterFrame事件監聽器......

private function onLoaderInit(event:Event):void { 
    _Player=_loader.content; 
    //only show part of codes.... 

    addEventListener(Event.ENTER_FRAME , enterFrameListener); 
} 

private function enterFrameListener(event:Event):void 
{ 
    loadProgress(); 
    // and here you add some way to remove this event listener when 
    // the video is fully loaded 
} 
+0

不錯.....感謝您的回覆....! – FlyingCat 2010-08-08 03:28:37