2010-05-13 65 views
0

我使用FlashDevelop構建了一個AS3圖像庫。當我拉我的演示FlashDevelop項目..爲什麼它打破?

在我壓縮應用程序之前,我可以通過簡單地打開項目的index.html來在我的瀏覽器中運行圖像庫。一切都很完美。

然後我使用winrar將項目壓縮爲proj-0.1.2.zip。

然後我解壓縮這個新創建的zip文件,並嘗試使用上面的項目index.html加載應用程序。畫廊無法正常工作。從看到會發生什麼,看起來好像圖像元數據不存在(但我不確定,請參閱下文)。

還有其他應用程序被破壞。視頻無法加載。如果應用程序不依賴任何外部資產,那麼一切都很正常。

另一件事。如果我然後構建FlashDevelop項目並重新發布swf ..然後它在index.html中工作,就像我想要的。這裏發生了什麼?

我希望人們能夠通過運行index.html來啓動我的演示應用程序。如果這並不總是奏效,他們必須弄清楚他們需要重建SWF,那麼這很糟糕。

+0

總結:當我壓縮並解壓縮flashDevelop swf時,該swf無法再正確加載外部文件。壓縮和解壓縮後,我的視頻播放器和圖片庫被破壞。我必須重建flashDevelop swf才能使其重新工作。 我將其中一個flashDevelop應用程序轉換爲Flash CS3應用程序,而Flash CS3版本不存在此問題。 爲什麼flashDevelop有這個問題? – Ryan 2010-05-14 01:24:55

回答

1

我不認爲拉鍊是問題,我認爲移動到不同的文件夾是一個問題。

我假設你在本地PC上運行這個index.html,而不是在網絡服務器上運行?

默認情況下,Flash無法從本地SWF訪問以加載其他本地文件。但是,FlashDevelop/Flash CS3/Flex Builder爲了解決這個限制,在flash播放器中設置了一些標誌,告訴他「這個SWF是一個值得信賴的SWF,允許他打開本地文件」。但它基於SWF的確切位置。

編譯器中有一個設置,它在SWF中設置了一個標誌,表示「此SWF可以訪問本地數據」,但有一個缺點:它阻止了對網絡資源的所有訪問。所以它可以是/或者:訪問本地數據,或者訪問網絡資源(任何通過HTTP,Socket等的東西)。我不確定這個設置在哪裏。這可能是Flash CS3的默認設置與FlashDevelop的默認設置不同。

無論如何,避免所有此問題的簡單方法是不要在本地運行文件。在測試之前將其放在您的網絡服務器上。

相關問題