我正在處理一個Flash GUI項目,該項目有許多圖像需要在運行時動態加載。在運行時使用外部文件創建SWC圖像/文件庫
問題: 目前每次一類初始化時,它加載其資產(圖像)從硬盤,但通常需要太長時間(例如:我有100個項目的列表,每個項目都有相同的背景,這是存儲在HDD上的PNG圖像,但它必須從HDD上載圖像100次才能呈現列表,因爲該項目的類將被初始化100次)。另外,我希望資產對用戶隱藏,所以我想把它打包成一個文件。
解決方案: 我想到了SWC。我聽說這是Flash的庫。但我幾乎沒有與SWC合作的經驗。而且有太多的圖片,需要很長時間才能手動導入併爲FLA庫中的每個圖片添加類名稱。但是我已經有了一個XML文件,它存儲了每個類的資產的類名和路徑。所以我可以將所有圖像加載到變量中,但我不知道如何將該變量實際寫入HDD上的SWC文件,以便稍後將其作爲庫加載。
[MyButton.png] - 負載到RAM - > [myButton的:位圖] - 寫入SWC文件上HDD - > [Assets.swc] - 導入SWC文件在運行時 - > [addChild(assets.myButton)]
粗體文本是我錯過的部分。
謝謝你的時間!任何幫助是極大的讚賞。
非常感謝你的回答。我想到了類似的方法,但我也需要將這些圖像存儲在單個文件中,並且可能會被密碼保護或具有某種保護。你會建議任何一種資產包裝方法嗎? –
如果需要,您可以使用zip文件並在加載後解壓縮它們。這可能是最簡單的方法,取決於他們是否改變了很多。如果他們改變了很多,那麼最好的辦法是處理每個圖像或圖像的子集,然後使用緩存(如果它通過互聯網分發的話)。否則,一個zip文件可能對您的目的有好處 –
不記得我最後使用的是哪個zip工具,但如果我沒有記錯的話,使用這種策略相當容易 –