2012-05-17 77 views
0

我正在開發一個基於柑橘引擎的flash遊戲,用於uni項目。柑橘引擎Flash遊戲沒有正確編譯

所有這一切都完成在手,但我嘗試整個項目編製成網的釋放。

在FLAHS香港專業教育學院建造了文件 - >導出 - >發佈生成和編譯的遊戲。

.swf文件打開了罰款和initiatze的spirte菜單,但點擊開始遊戲按鈕時就開始啓動了比賽狀態,但隨後在純色掛斷,在Flash調試即時得到這些錯誤

SecurityError:錯誤#2000:沒有活動的安全上下文。

開始 類型錯誤:錯誤#1009:無法訪問空對象引用的屬性或方法。 at com.citrusengine.utils :: ObjectMaker $/FromMovieClip() at GameState/initialize() at com.citrusengine.core :: CitrusEngine/handleEnterFrame() SecurityError:Error#2000:No active security context。

開始 類型錯誤:錯誤#1009:無法訪問空對象引用的屬性或方法。 在com.citrusengine.utils :: ObjectMaker $/FromMovieClip() 在遊戲狀態/初始化() 在com.citrusengine.core :: CitrusEngine/handleEnterFrame()

任何建議理解

回答

0

錯誤#2000通常是找不到錯誤的文件。您可以從運行IOErrorEvent獲取更多信息,如下所示:

myLoader.addEventListener(IOErrorEvent.IO_ERROR, IOError) 

function IOError(e:IOErrorEvent):void { 
    trace(e.text); 
} 

可能存在路徑到正確文件的問題。

錯誤#1009很可能是由於IOError而無法處理尚未加載的資產的多米諾骨牌效應。如果您正在將其他SWF加載到舞臺上,並且這些子SWF試圖在舞臺準備就緒之前嘗試使用舞臺,這種情況也可能會成爲問題,在這種情況下,您只想在addedToStage事件觸發後纔開始腳本。您可以設置像這樣:

if (this.parent is Stage) { 
    stageReady(); 
} else { 
    addEventListener("addedToStage", stageReady); 
} 

function stageReady(e:Event = null):void { 
    // begin your setup code here. 
} 

這裏是如果您的SWF是不是一個裝載機裏面封裝,父對象應該是舞臺,否則,您可以偵聽器安全地添加到加載的SWF的邏輯時間表,用於監聽addedToStage事件。

0

也許以下能夠解決您的問題:

包裝所有的初始化代碼自定義函數(可以說:initFunctionOfApplication)。在調用此init函數之前設置一個延遲計時器。這是我以前遇到過的一個問題,並且在一小段時間內解決了問題......也許這會解決您的問題。

setTimeout(function():void{initFunctionOfApplication();}, 3000); 

讓我們貼!