2014-02-07 28 views
0

我們有VAST標籤返回VPAID廣告,我們開發使用的是ActionScript3,這樣的廣告應該在顯示插件類似於OVA adobe播放器使用我們開發的插件。但每次它給錯誤類型錯誤:錯誤#2007:參數孩子一邊玩VPAID廣告在Adobe播放器必須在AS3非空

TypeError: Error #2007: Parameter child must be non-null.

而在調試時它被初始化,啓動和獲取加載,但之後,它顯示此錯誤。誰能幫忙?提前致謝。

回答

0

如果我沒有錯,通常當你在actionscript中開發一些需要加載資源或在DisplayList中放置某些東西的東西時,例如Sprite,你必須等待Stage準備就緒。我通常這樣做的Main類(或一個在FLA文件鏈接),所以這樣的代碼知道何時是適當的資產裝入DisplayList

public class Main extends Sprite { 
    public function Main():void{ 
    init(); 
    if (stage != null){ 
    addedToStage(); 
    }else{ 
     addEventListener(Event.ADDED_TO_STAGE, addedToStage); 
    } 
    } 
    private function addedToStage(e:Event = null):void { 
    //entry point 
    } 
    private function init():void{ 
    //here you initialize your variables 
    } 
} 

有時Stage將準備,有時文件有點太重,需要花費時間來加載,所以我們讓一個監聽器等待。如果你在本地做,它不會失敗,但只要你把它放在網上(網站),你會發現這種差異。

你可以嘗試其他的事情是到SWF(廣告)加載到Loader

_loader = new Loader(); 
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteContentLoaderInfo); 

,並在功能onCompleteContentLoaderInfo檢查_loader.content;一旦加載它在技術上是一個potencial SWF,這樣的話,你可以檢查其屬性,並驗證其階段是否可用(非空)。

當你在網上工作,你總是需要檢查,如果事情是要被載入監聽器,它有時是非常複雜的,也許你已經知道了,但第一個聽衆檢查Stage是非常重要的。

相關問題