0
我試圖從庫中添加聲音。像 backGroundSound:Sound = new BackGroundSound();
// BackGroundSound是mp3文件類的名稱。檢查庫中是否存在Movieclip
我想將這個用於所有使用Backgroundsound進行遊戲的開發者。
我想在添加它之前檢查它是否在庫中導出以防止編譯錯誤。
請幫我解決這個問題。
我試圖從庫中添加聲音。像 backGroundSound:Sound = new BackGroundSound();
// BackGroundSound是mp3文件類的名稱。檢查庫中是否存在Movieclip
我想將這個用於所有使用Backgroundsound進行遊戲的開發者。
我想在添加它之前檢查它是否在庫中導出以防止編譯錯誤。
請幫我解決這個問題。
嘗試以下操作:
var classExist:Boolean = isClassExists("BackGroundSound");
private function isClassExists(className:String, domain:ApplicationDomain = null):Boolean
{
var res:Boolean;
if(domain)
{
res = domain.hasDefinition(className);
}
else
{
res = getDefinitionByName(className);
//or the same
//res = ApplicationDomain.currentDomain.hasDefinition(className);
}
return res;
}
謝謝fsbmain,好像做的工作... :) – Maddy
這些檢查應該在編譯的時候進行的,畢竟BackgroundSound'類的'定義應是可用的。所以,編譯完成後,會有'BackgroundSound'。但是,爲了防止編譯錯誤,您必須手動檢查先決條件。 – Vesper
謝謝,但我想知道是否有一些代碼來檢查庫中是否存在聲音文件或動畫片段?任何如何使用try catch避免comipler錯誤問題。 – Maddy
你想檢查一個類是否在運行時可用,對嗎?從fsbmain下面的答案給出了看似正確的代碼。 – Vesper