看來OpenLaszlo可以run on AIR。不太明顯的是OpenLaszlo應用程序是否可以使用特定於AIR的API,例如文件系統訪問。如果是這樣,那究竟是如何完成的?OpenLaszlo應用程序可以訪問AIR API嗎?
2
A
回答
2
雖然我沒有任何細節,但您鏈接的文章提到他的應用程序窗口可以被拖動和關閉。這些是僅限AIR的API(請參閱NativeWindow類),因此可能在某種程度上可能是您所問的。
但是,我的理解是,OpenLaszlo嘗試不實現可以在Flash中完成的事情,但不能實現(比如說)DHTML,因此如何執行本地文件訪問等操作可能不那麼明顯。可能你會想要下載文章中鏈接的源代碼並查看他是如何實現窗口拖/關的。
1
OpenLaszlo確實實現了僅在某些運行時纔可用的功能。這對於MP3音頻播放,Flash Player網絡攝像頭和麥克風訪問,RTMP流媒體來說都是如此。 OpenLaszlo編譯器支持將ActionScript代碼直接插入到腳本和方法中。
下面是一個示例應用程序,它捕獲Event.DEACTIVATE和Event.ACTIVATE事件,並允許您通過單擊/觸摸紅色視圖來退出應用程序。
可以使用<傳遞標籤導入ActionScript 3 APIs - 可以在畫布內使用標籤,類別定義或代碼中的任何標籤實例。
<canvas bgcolor="#ffffff" debug="false" height="100%" width="100%">
<passthrough when="$as3">
import flash.events.Event;
import flash.desktop.NativeApplication;
</passthrough>
<handler name="oninit">
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, __onDeactivate);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, __onActivate);
</handler>
<method name="__onActivate" args="ev">
Debug.info("onActivate");
Debug.info("frame rate is " + this.getDisplayObject().stage.frameRate)
</method>
<method name="__onDeactivate" args="ev">
Debug.info("onDeactivate");
Debug.info("frame rate is " + this.getDisplayObject().stage.frameRate)
</method>
<view width="80%" height="50%" bgcolor="red" clickable="true">
<passthrough>
import flash.desktop.NativeApplication;
</passthrough>
<handler name="onclick">
NativeApplication.nativeApplication.exit();
</handler>
</view>
</canvas>
如果希望只SWFX運行時執行的代碼,你可以檢查把這些代碼成塊檢查$ AS3屬性:
if ($as3) {
// Insert some code for the SWFx runtime or AIR applications only
}
使用方法,很容易重新爲DHTML,SWFx或AIR應用程序使用LZX代碼。
相關問題
- 1. AIR應用程序可以訪問其自己的數字簽名嗎?
- 2. Openlaszlo html標籤AIR問題
- 3. 可以在Android以外的Java應用程序中訪問Android API嗎?
- 4. AIR應用程序可以編程來處理URL協議嗎?
- 5. iPhone:我的程序可以使用imagepicker API訪問相機嗎?
- 6. Adobe Air應用程序可以使用p2p嗎?
- 7. 一個應用程序可以訪問其他應用程序的事件嗎?
- 8. C#Winstore應用程序可以訪問電子郵件應用程序嗎?
- 9. 應用程序可以訪問另一個應用程序回棧嗎?
- 10. 我可以從我的應用程序訪問另一個應用程序嗎?
- 11. 同一個Adobe AIR應用程序可以運行多次嗎?
- 12. 在AIR應用程序中,NativeProcess.isSupported和Updater.isSupported都可以爲true嗎?
- 13. 可以在Adobe AIR應用程序中剖析CPU /內存嗎?
- 14. 應用程序swf可以在AIR中重新加載嗎?
- 15. 您可以解壓縮Adobe AIR應用程序嗎?
- 16. 可以從Windows窗體應用程序訪問HTML5 localstorage嗎?
- 17. 我可以訪問iOS郵件應用程序數據嗎?
- 18. 多個應用程序可以訪問SQLite數據庫嗎?
- 19. 兩個應用程序可以訪問相同的Cookie嗎?
- 20. Flex Web應用程序可以訪問sqlite數據庫嗎?
- 21. 酸洗程序可以通過C API訪問嗎?
- 22. iPhone API可以訪問Mail/Messages/etc嗎?
- 23. Facebook API:它可以訪問「筆記」嗎?
- 24. 我可以使用REST API遠程啓動應用程序嗎?
- 25. AIR應用程序
- 26. Mac應用可以存儲應用程序訪問本地文件系統嗎?
- 27. instagram api應用程序訪問令牌
- 28. 從Web應用程序訪問Google API
- 29. 如何在Adobe Air iOS應用程序中訪問iOS本機API?