希望有人可以在這裏提供幫助,或多或少地尋找a)相對路徑的解決方案,或者b)瞭解另一種加載資產的方法。flex中的多版本子應用程序資產路徑4
我們有一個獨立的Web應用程序使用SDK 4.1,並在其相關資產文件夾中查看要加載的所有圖像和外部swfs。
在服務器上,這是資產目錄的絕對路徑:
/ApplicationRoot/versionFldr/controls/assets/*
應用程序使用在加載的資產..所有病例的相對路徑,這不斷將被添加到和更新我們應用程序的高級版本。
因此,在本質上,應用程序正在尋找:
assets/*
現在轉移到新的應用程序,讓我們把它稱爲「ParentApp」和上面的應用「ChildApp」。
父應用程序是不是ChildApp不同的服務器目錄
/ParentApp/version/controls/ParentApp.swf
/ChildApp/version/controls/ChildApp.swf
現在,當ChildApp加載到ParentApp,它假定它是在同一目錄下,它一直是在,所以它看起來資產/ *和不能找到它們,因爲
/ParentApp/version/controls/assets/* != /ChildApp/version/controls/assets/*
我需要找到一個解決方案,具有ChildApp看在所有加載的資源的絕對路徑,當它是ParentApp的一個孩子,有它在相對路徑看向自己,當它是獨立的。
我的注意事項是圖像被加載到各種控件,緩存,甚至mx:文本字段(帶有標籤的HTML文本)。我試圖避免全局替換應用程序中的所有路徑鏈接,並且在爲應用程序創建新資產時必須創建新的編碼過程。 ChildApp正在生產中,並且必須保留在4.1 SDK上。
ParentApp是新的,具有更多的靈活性。
我已經嘗試了childApp中的源路徑和庫文件路徑編譯器選項,但是這導致編譯錯誤,我一直無法繼續。
預先感謝您的任何見解和幫助! -AJ
我已經做了這個實際上處理模塊加載,它完美的作品。我通過flashVars將ParentApp的「版本」值傳遞給ChildApp,一旦ChildApp初始化,它將使用此值構建絕對路徑,以正確加載模塊。 我在使用這個變量時遇到的問題是需要添加前綴的資產和未知資產的_amount_。我們在ChildApp中擁有相當動態的內容,即使在我們的開發辦公室之外,許多用戶也可以訪問修改內容。如果內容包含相對路徑,則會出現IO錯誤。 – notDefault 2012-08-08 17:13:42
**已解決**:我們在ParentApp的資產/文件夾中的服務器上創建了一個符號鏈接,以指向ChildApp的資產/文件夾。 – notDefault 2012-08-10 17:22:05