SlideShare a Scribd company logo
Adobe AIR 開發經驗分享
2013.7.31
關於耶書


2004 ~ 2010 知世網絡



2010 ~ 2012 玩創互動



2013/7 科碼



2013/10 自由接案



https://www.facebook.com/rhino.lu
專案描述


展場互動



紅外線觸控框 ( 跨螢幕 )



支援兩點觸控



有 Socket Server,兩個 APP 傳遞訊息



有 API 後端撈資料
工具


FlashPro CS6 ( 動畫、元件、編譯 )



FlashDevelop 4.4.2 ( 編寫.as )



沒有使用 Flash Builder



安裝 AIR SDK 3.7 ( 發佈 3.4 )
關於「自動」發佈


JSFL

您可以使用 JavaScript API 來撰寫 Flash 應用程式指令碼,以便協助
精簡編寫程序。例如,您可以撰寫自動化重複工作的指令碼,或將自
訂工具新增至「工具」面板。
http://help.adobe.com/zh_TW/flash/cs/extend/WS5b3ccc516d4fb
f351e63e3d118a9024f3f-7fe8.html


Apache ANT

是一個將軟體編譯、測試、部署等步驟聯繫在一起加以自動化的一個
工具,大多用於Java環境中的軟體開發。
http://zh.wikipedia.org/wiki/Apache_Ant
JSFL


JSFL 可以對 fla / xfl 做發佈 swf / air
( fl.openDocument(xxx).publish(); )



JSFL 打包 .air 要小心 IDE 會記憶上次使用的 p12 檔與
password



publish .air 時 password 問題?
若之前未輸入過,IDE 會提示輸入 password



JSFL 依賴 IDE
JSFL 範例


compileProject.jsfl
Apache ANT + AIR Developer Tool


ANT 依賴 ADT ( AIR Developer Tool ) 來包裝 .air



ADT 無法對 fla / xfl 做發佈 ( ADT 依賴 swf, app.xml )



ANT 可執行 JSFL ( 多此一舉… )



ADT 可以設定 p12 檔路徑



ADT publish .air 時 password 問題?

命令列會提示輸入 password ( 並沒有找到可以設定
password 的地方 )


ANT 依賴 JDK, build.xml, ADT



適合對 command line 有狂熱的朋友
Apache ANT 範例


要額外裝 JDK ( Java Standard Edition Development Kit )



要新增環境變數



ADT 包裝命令:

adt -package -storetype pkcs12 -keystore main.p12 main.air
main-app.xml main.swf


ant –f adl.xml



ant –f adt.xml
依環境讀取不同 config


開發階段,可以判斷 Capabilities.isDebugger 來讀
取測試用 config



ANT, JSFL 兩者都可以在打包階段置換檔案、開目
錄、刪目錄



打包時,建議 config 都是 for 正式環境



安裝後,仍可以手動開檔案總管切換測試用 config



預設安裝位置 C:Program Files (x86)xxx
Socket Server


bind 0.0.0.0 預設偵聽全部



使用 SocketMonitor 監視 server 狀態 ( 範例 )

Flash Pro IDE 要嵌入:
C:Program Files (x86)AdobeAdobe Flash
CS6AIR3.4frameworkslibsairaircore.swc


socket.read 後馬上 socke.write 偶而會掉 ( delay
100ms )
單主機推兩台電視螢幕,電視有自己的喇
叭,但仍需要區分左右聲道


pan = 1, pan = -1



Config Constant ( 下圖 )



若是兩個獨立 APP,可以用 SoundMixer



同一個 APP 下,不可使用 SoundMixer,避免影響全
域 ( 這個案例中,我使用靜態屬性 )
客戶:「觸控怎麼不靈敏/即時?」


我們能做的:

-

MouseEent.CLICK > MouseEvent.MOUSE_DOWN 加
速事件發生

-

按鈕實際按的位置在指腹,不是指尖,按鈕感應區
應往下擴充

-

互動桌視角的關係,觸控框和螢幕有距離 ( 下圖 )
客戶:「兩邊不能同時使用?」
左右兩個 APP,互搶焦點,造成使用上困難
 MouseEvent.MOUSE_DOWN > TouchEvent.TAP
 TouchEvent.TAP 也會送滑鼠事件!?
http://help.adobe.com/zh_TW/as3/dev/WS1ca064
e08d7aa93023c59dfc1257b16a3d6-7ffe.html
備註: 針對多個觸控點輸入 (例如使用多根手指觸控
裝置),第一個接觸點會傳送滑鼠事件和觸控事件。
 同時偵聽的話,如何擋住下一個?( 待解 )

一般紅外線觸控框,能跨螢幕嗎?


控制台 > Tablet PC > 設定,只能選一個螢幕



廠商表示一般觸控框無法跨螢幕
客戶:「資料沒有出來」
如何確認是前端 / 後端問題?


瀏覽器開 API



但小心瀏覽器的貼心 ( QR Code 事件 )
Flash @ Taiwan


https://www.facebook.com/groups/365706900178178/

More Related Content

Similar to Adobe air 開發經驗分享

01 Flex Introduction
01 Flex Introduction01 Flex Introduction
01 Flex Introduction
Scissor Lee
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
Dino Wang
 
Flash RIA Usability
Flash RIA UsabilityFlash RIA Usability
Flash RIA Usability
nbaction
 
互動設計技術現況 20121205
互動設計技術現況 20121205互動設計技術現況 20121205
互動設計技術現況 20121205
亭惠 王亭惠
 
Ext Js开发指导
Ext Js开发指导Ext Js开发指导
Ext Js开发指导clong365
 
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)Shanda innovation institute
 
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
yunjuli
 
iPAD .folio 電子雜誌出版流程 20110422
iPAD .folio 電子雜誌出版流程 20110422iPAD .folio 電子雜誌出版流程 20110422
iPAD .folio 電子雜誌出版流程 20110422
yunjuli
 
产品经理实用工具全集(1 8)
产品经理实用工具全集(1 8)产品经理实用工具全集(1 8)
产品经理实用工具全集(1 8)Gauin
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
twMVC
 
从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发Adam Lu
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
Shaoning Pan
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027Wei Sun
 
Android ADK
Android ADKAndroid ADK
Android ADK
艾鍗科技
 
C++
C++C++

Similar to Adobe air 開發經驗分享 (20)

01 Flex Introduction
01 Flex Introduction01 Flex Introduction
01 Flex Introduction
 
Les 3 ppt
Les 3 pptLes 3 ppt
Les 3 ppt
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Flash ria usability 刘轩飞
Flash ria usability 刘轩飞Flash ria usability 刘轩飞
Flash ria usability 刘轩飞
 
Flash RIA Usability
Flash RIA UsabilityFlash RIA Usability
Flash RIA Usability
 
互動設計技術現況 20121205
互動設計技術現況 20121205互動設計技術現況 20121205
互動設計技術現況 20121205
 
Ext Js开发指导
Ext Js开发指导Ext Js开发指导
Ext Js开发指导
 
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)
[Flash开发者交流][2010.11.28]air android开发的一些心得(邱彦林)
 
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
Adobe InDesign CS5.5 ipad 互動式電子雜誌製作與發佈流程-2011/09/11
 
iPAD .folio 電子雜誌出版流程 20110422
iPAD .folio 電子雜誌出版流程 20110422iPAD .folio 電子雜誌出版流程 20110422
iPAD .folio 電子雜誌出版流程 20110422
 
产品经理实用工具全集(1 8)
产品经理实用工具全集(1 8)产品经理实用工具全集(1 8)
产品经理实用工具全集(1 8)
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 
C+
C+C+
C+
 
C#
C#C#
C#
 
从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发从Adobe和qcof会议看前端开发
从Adobe和qcof会议看前端开发
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
 
Tech days2011
Tech days2011Tech days2011
Tech days2011
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
Android ADK
Android ADKAndroid ADK
Android ADK
 
C++
C++C++
C++
 

Adobe air 開發經驗分享