2012-06-06 17 views
0

我一直在研究一個Photoshop UI項目,並且使用Flash Builder約3周時間,並且我找不到通信問題的解決方案。這裏是關於這個問題的一些細節;如果你有興趣幫助我,謝謝。ExtendScript中的Flex內部閃存

  • UI的主框架是Extendscript

  • 我有一個AS3的swf一個需要動態地加載本地JPG文件,我 假設這是對Flash中的「只訪問本地文件」的局面。

  • 相同的SWF需要與Extendscript進行通信,所以我動態地通過的SWFLoader它加載到一個 FLEX應用,並將其傳遞一些變量來, 並且經由「myFlexParent」對象觸發在FLEX某些功能。

  • Flex是Flash和Extendscript之間的橋樑,因此經由 Externalinterface.call或CSXSInterface.instance.evalScript經過 變量和函數來Extendscript JSX代碼()。

這就是我所在的地方。我猜ExternalInterface調用或CSXSInterface.instance.evalScript()被視爲網絡操作,如果我在flex中設置編譯選項「-use-network = false」,則它們不起作用。否則,不能加載本地JPG文件。

在設置管理器中添加位置不會對我有用,因爲我打算將UI變成擴展名,它應該很容易安裝。

我想我想找到一種方法來建立FLEX和ExtendScript之間的雙向通信,這將被Flash播放器解釋爲本地通信,實際上是這樣。

我會很感激任何信息。謝謝。

回答

0

ExternalInterface將被視爲一個網絡調用,並設置-use-network = false將打破這些調用。這是由於安全沙箱。如果允許,那麼Flash應用可以與一些簡單的AJAX一起使用,以非常容易地將非網絡應用變成網絡應用。

的Adobe的文檔的說:

該通信依賴於基於域的安全限制 了的allowScriptAccess和allowNetworking屬性定義。您 在SWF文件的包裝中設置allowScriptAccess和allowNetworking屬性 的值。

參考鏈接:

http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf6167e-7fff.html#WS2db454920e96a9e51e63e3d11c0bf6167e-7ff5

查找到改變你的應用程序進入AIR應用程序,你將能夠做到網絡和本地文件操作(不同的安全模式,因爲用戶安裝應用程序)。

+0

謝謝你的回答Nate,我一直在試圖獲得關於空氣的一些信息,這個應用程序應該在Photoshop中作爲面板工作,所以我不知道它是否可以用空氣完成。將位圖圖像數據從extensionscript發送到flash並在那裏創建位圖,似乎是我現在最終的解決方案,我不知道該怎麼做。最好。 – eren