出版時(shí)間:2012-8 出版社:機(jī)械工業(yè)出版社 作者:邱彥林 頁(yè)數(shù):347
Tag標(biāo)簽:無(wú)
前言
2010年年底,我有幸受邀參加了Flash開發(fā)者大會(huì)主辦的第六屆技術(shù)交流會(huì),作了題為《AIR Android開發(fā)的一些心得》的演講。當(dāng)時(shí)AIR移動(dòng)版(也就是2.5版)尚在測(cè)試階段,還沒(méi)有正式發(fā)布,所以很多朋友都覺(jué)得很新鮮。參加這次大會(huì)最大的收獲是結(jié)識(shí)了一些志同道合的朋友,其中就有本書的策劃編輯楊福川。與福川幾番交流后,就有了創(chuàng)作本書的想法。從2010年到2012年,短短兩年時(shí)間,移動(dòng)互聯(lián)網(wǎng)的發(fā)展日新月異。移動(dòng)互聯(lián)網(wǎng)給人們帶來(lái)的變化是全方位的,從生活到工作,一切都在變化,而且速度越來(lái)越快。對(duì)技術(shù)人員而言,身處這樣一個(gè)技術(shù)更替的大時(shí)代,面臨著挑戰(zhàn)的同時(shí),也有很多機(jī)遇,在Flash技術(shù)領(lǐng)域更是如此。Flash技術(shù)的移動(dòng)之路回首過(guò)去,F(xiàn)lash技術(shù)在移動(dòng)平臺(tái)上走過(guò)了一段頗為曲折的道路。在Macromedia沒(méi)被Adobe收購(gòu)前,就已經(jīng)著手讓Flash技術(shù)進(jìn)軍移動(dòng)領(lǐng)域。在Flash Player 4.0時(shí)代,Macromedia推出了針對(duì)移動(dòng)設(shè)備的Flash Lite解決方案,這是一個(gè)輕量級(jí)的Flash Player,支持在設(shè)備上直接運(yùn)行Flash文件。此時(shí)移動(dòng)平臺(tái)還處于諾基亞的Symbian系統(tǒng)時(shí)代,軟硬件條件都和PC相去甚遠(yuǎn)。由于移動(dòng)應(yīng)用的發(fā)展緩慢,F(xiàn)lash Lite并沒(méi)有取得理想的成就。到2009年,F(xiàn)lash Lite發(fā)展到3.1版本,但一直沒(méi)有達(dá)到Adobe的預(yù)期效果。2007年,iPhone手機(jī)的橫空出世,打亂了移動(dòng)市場(chǎng)的格局。2008年Android系統(tǒng)手機(jī)問(wèn)世,隨后,移動(dòng)互聯(lián)網(wǎng)時(shí)代就這樣“忽如一夜春風(fēng)來(lái)”。在這一時(shí)期,客觀地說(shuō),Adobe在發(fā)展戰(zhàn)略上走了一些彎路,因?yàn)樗麄冞€是按照Flash技術(shù)在PC上的發(fā)展套路,執(zhí)著地在移動(dòng)平臺(tái)上推行Flash Player。事實(shí)上,F(xiàn)lash Lite的失敗已經(jīng)證明這條路很難走。好在Adobe及時(shí)調(diào)整了方向,2009年后將重點(diǎn)放在AIR上,讓AIR支持Android、iOS和Blackberry等主流移動(dòng)平臺(tái),走Native App路線,為廣大的Flash技術(shù)開發(fā)者打開了通往移動(dòng)平臺(tái)的方便之門。2010年,Adobe發(fā)布了AIR 2.5版本,支持Android平臺(tái)和Blackberry的Playbook,隨后的2.6版增加了對(duì)iOS平臺(tái)的支持。在此之后,AIR的發(fā)展更加迅猛。2011年底,Adobe正式宣布終止更新移動(dòng)版Flash Player,集中力量發(fā)展AIR移動(dòng)技術(shù)。截止到本書出版,AIR已經(jīng)到了3.2版本,AIR 3.3也進(jìn)入了公測(cè)期。談到AIR在移動(dòng)平臺(tái)的發(fā)展歷史,筆者想起了一款名為ELIPS Studio的軟件。這款軟件出自一家法國(guó)的公司Open Plug(發(fā)布于2009年,比AIR 2.5還早),是基于Flash平臺(tái)的移動(dòng)解決方案,為Flash開發(fā)者提供了跨平臺(tái)的開發(fā)環(huán)境,并能夠?qū)lash技術(shù)運(yùn)用到Android、iOS、Windows Mobile等平臺(tái)上。2010年,這家公司被跨國(guó)公司阿爾卡特朗訊(Alcatel-Lucent)收購(gòu)。不過(guò),當(dāng)AIR完成了移動(dòng)平臺(tái)的布局后,Open Plug的技術(shù)優(yōu)勢(shì)已不復(fù)存在,畢竟他們的產(chǎn)品都是基于Flash技術(shù),無(wú)法和Adobe抗衡。不久之后,阿爾卡特朗訊宣布終止更新Open Plug產(chǎn)品,這也就在意料之中了。Open Plug固然是曇花一現(xiàn),但從中可以得出一個(gè)結(jié)論:Flash技術(shù)走向移動(dòng)平臺(tái)確實(shí)適應(yīng)了市場(chǎng)的需求。本書面向的讀者如果你開發(fā)過(guò)AIR桌面程序,想知道如何將程序移植到Android平臺(tái)上,那么本書非常適合你。如果你了解Action Script 3.0編程語(yǔ)言并用它編寫過(guò)程序,現(xiàn)在又想為Android設(shè)備開發(fā)移動(dòng)應(yīng)用,那么這本書值得你一讀。如果你開發(fā)了一款Flash Web程序,想知道如何將程序移植到Android平臺(tái)上,那么這本書里有你需要的東西。如果你想為Android、iOS或Playbook開發(fā)跨平臺(tái)的移動(dòng)程序,那么一些不錯(cuò)的技巧和建議。需要說(shuō)明的是,這是一本關(guān)于AIR Android開發(fā)的教程,不是Action Script 3.0的入門教程,也不是AIR開發(fā)的入門教程,更不是Android SDK開發(fā)的入門教程。當(dāng)然,書中涉及一些Android SDK的內(nèi)容,可幫助你加快Android SDK的學(xué)習(xí)進(jìn)度??偠灾痪湓?,只要你有Action Script 3.0開發(fā)經(jīng)驗(yàn),閱讀這本書就肯定沒(méi)問(wèn)題。本書包括的內(nèi)容本書共包括16章,分為5個(gè)部分:準(zhǔn)備篇(第1~2章) 主要介紹了AIR Android開發(fā)需要做哪些準(zhǔn)備,如何搭建開發(fā)環(huán)境,并編寫了一個(gè)簡(jiǎn)單的應(yīng)用程序。通過(guò)這部分使讀者了解移動(dòng)技術(shù)的優(yōu)勢(shì)和局限?;A(chǔ)篇(第3~10章) 介紹了AIR移動(dòng)開發(fā)的基礎(chǔ)技術(shù),包括移動(dòng)設(shè)備上的用戶交互方式、加速計(jì)的使用、地理定位功能、訪問(wèn)設(shè)備資源、網(wǎng)絡(luò)通信、文件和數(shù)據(jù)庫(kù)等,涵蓋了移動(dòng)開發(fā)的方方面面,另外,程序的調(diào)試和發(fā)布也是移動(dòng)開發(fā)的一個(gè)重要組成部分。進(jìn)階篇(第11~13章) 和桌面開發(fā)相比,移動(dòng)開發(fā)的重點(diǎn)和難點(diǎn)在哪里?如何針對(duì)設(shè)備進(jìn)行界面設(shè)計(jì)?如何提高用戶體驗(yàn)?更重要的是,在移動(dòng)設(shè)備上,如何提升程序性能?在這部分,筆者結(jié)合自己的開發(fā)經(jīng)驗(yàn),分享了很多具有實(shí)際意義的技巧和方法。實(shí)戰(zhàn)篇(第14~15章) 用兩個(gè)章節(jié)的篇幅詳細(xì)介紹了一款游戲的開發(fā)過(guò)程,將AIR移動(dòng)技術(shù)和Flash Web技術(shù)靈活結(jié)合起來(lái),展現(xiàn)了Flash技術(shù)在移動(dòng)平臺(tái)上的巨大潛力。高級(jí)篇(第16章) 介紹了AIR 3.0的新特色—本地?cái)U(kuò)展。本地?cái)U(kuò)展為AIR技術(shù)提供了超強(qiáng)的擴(kuò)展能力,使得開發(fā)者可以擺脫AIR的技術(shù)局限性。如何使用源代碼讀者可以先登錄http://www.hzbook.com網(wǎng)站,找到本書網(wǎng)頁(yè)下載實(shí)例代碼包。每個(gè)實(shí)例程序一般包含三部分:src文件夾:包含所有的源代碼,都使用純Action Script 3.0編寫。dist文件夾:包含最終的APK文件,可以安裝到設(shè)備上運(yùn)行。application.xml:應(yīng)用程序描述文件。使用Flash Develop時(shí),直接將src和application.xml復(fù)制到項(xiàng)目中即可運(yùn)行。如果讀者使用Flash Builder開發(fā)環(huán)境,也可以建立Action Script mobile項(xiàng)目來(lái)運(yùn)行程序。代碼包中還有一個(gè)library目錄,包含了公共代碼庫(kù)和類庫(kù),請(qǐng)讀者務(wù)必將此目錄添加到Flash Develop的全局類路徑中,否則一些實(shí)例程序?qū)o(wú)法通過(guò)編譯。添加方法是:在Flash Develop中,單擊菜單中的Tools→Global Classpaths命令,在彈出的窗口中,單擊“Add Classpath”按鈕,找到library目錄,添加即可。添加完畢后,在Flash Develop中編輯項(xiàng)目時(shí),在Project面板的文件列表中會(huì)看到library目錄。如果沒(méi)有出現(xiàn)library目錄,則單擊菜單中的Tools→Program settings命令,在彈出窗口的左側(cè)找到“Project Manager”,將右側(cè)設(shè)置項(xiàng)“Project Tree”下的“Show Global Classpaths”修改為true,然后重新啟動(dòng)Flash Develop即可??闭`和支持由于作者的水平有限,加之編寫時(shí)間倉(cāng)促,書中難免會(huì)出現(xiàn)一些錯(cuò)誤或者不準(zhǔn)確的地方,懇請(qǐng)讀者批評(píng)指正。無(wú)論你遇到什么問(wèn)題,都可以訪問(wèn)新浪微博http://weibo.com/waktree給我留言,或者發(fā)送郵件至walktree@gmail.com,期待能夠得到你的反饋。致謝首先,感謝Flash開發(fā)者大會(huì)能夠?yàn)槲姨峁┻@么好的機(jī)會(huì),讓我認(rèn)識(shí)了很多技術(shù)同仁,也感謝他們?yōu)閺V大Flash技術(shù)人員提供的這個(gè)很好的交流平臺(tái),和對(duì)國(guó)內(nèi)的Flash技術(shù)推廣做出的貢獻(xiàn)。其次,感謝我的上級(jí)領(lǐng)導(dǎo)和同事。因?yàn)樵诠緟⑴c了相關(guān)的項(xiàng)目開發(fā),我才有機(jī)會(huì)研究AIR移動(dòng)技術(shù)。在AIR移動(dòng)技術(shù)還處于測(cè)試階段時(shí),我又有幸承擔(dān)了開發(fā)重任。在開發(fā)過(guò)程中,同事們共同解決了一系列的技術(shù)問(wèn)題,這些心得和經(jīng)驗(yàn)最終都成為了書中實(shí)例。感謝本書的策劃編輯楊福川,在內(nèi)容布局和安排上他都提出了很多好的意見和建議。感謝白宇,她一絲不茍的工作態(tài)度保證了這本書的質(zhì)量。因?yàn)橹T多原因,曾一度拖稿,在愛(ài)人的不斷督促和幫助下,最終才得以完成本書。謝謝家人的支持,祝家人和朋友們一切都好!邱彥林2012年5月
內(nèi)容概要
本書由資深A(yù)dobe技術(shù)專家兼資深A(yù)ndroid應(yīng)用開發(fā)工程師親自執(zhí)筆,既系統(tǒng)全面地講解了如何利用Adobe
AIR技術(shù)開發(fā)Android應(yīng)用,又細(xì)致深入地講解了如何將已有的基于PC的AIR應(yīng)用移植到Android設(shè)備上。不僅包含大量實(shí)踐指導(dǎo)意義極強(qiáng)的實(shí)戰(zhàn)案例,而且還包括大量建議和最佳實(shí)踐,是系統(tǒng)學(xué)習(xí)AIR
Android應(yīng)用開發(fā)不可多得的參考書。
全書共16章,分為五個(gè)部分:準(zhǔn)備篇(1~2章)主要介紹了利用AIR開發(fā)Android應(yīng)用之前需要了解的基本信息、開發(fā)環(huán)境的搭建,以及一個(gè)簡(jiǎn)單的AIR
Android應(yīng)用開發(fā)的全過(guò)程,旨在讓讀者對(duì)AIR
Android應(yīng)用開發(fā)有一個(gè)全面清晰的認(rèn)識(shí);基礎(chǔ)篇(3~10章)對(duì)AIR移動(dòng)開發(fā)技術(shù)進(jìn)行了系統(tǒng)而全面地講解,包括移動(dòng)設(shè)備上的用戶交互方式、加速計(jì)的使用、地理定位功能、整合系統(tǒng)程序、訪問(wèn)設(shè)備資源、網(wǎng)絡(luò)通信、多媒體、文件和數(shù)據(jù)庫(kù)等,以及程序的調(diào)試和發(fā)布;進(jìn)階篇(11~13章)以AIR桌面應(yīng)用開發(fā)為參照對(duì)象,講解了AIR移動(dòng)開發(fā)的重點(diǎn)和難點(diǎn),如何針對(duì)移動(dòng)設(shè)備進(jìn)行界面設(shè)計(jì),如何提高用戶體驗(yàn),以及如何提升程序的性能等,作者分享了大量具有實(shí)際意義的技巧和最佳實(shí)踐;實(shí)戰(zhàn)篇(14~15章)詳細(xì)講解了一款游戲的開發(fā)過(guò)程,將AIR移動(dòng)技術(shù)和Flash
Web技術(shù)靈活地結(jié)合了起來(lái),展現(xiàn)了Flash技術(shù)在移動(dòng)平臺(tái)上的巨大潛力;高級(jí)篇(第16章)講解了AIR
3.0的新特色——本地?cái)U(kuò)展,本地?cái)U(kuò)展為AIR技術(shù)提供了超強(qiáng)的擴(kuò)展能力,使得開發(fā)者可以擺脫AIR的技術(shù)局限性。
作者簡(jiǎn)介
邱彥林(網(wǎng)名:walktree)
資深A(yù)dobe技術(shù)專家和資深A(yù)ndroid開發(fā)工程師,精通ActionScript
2、ActionScript3、Flex、FMS等;有多年Flash相關(guān)技術(shù)開發(fā)經(jīng)驗(yàn),開發(fā)了大量Flash/Flex項(xiàng)目,是開源項(xiàng)目as3-pdf
reader的創(chuàng)建者,并維護(hù)至今,在Adobe技術(shù)社區(qū)有較高的知名度和影響力。國(guó)內(nèi)Android應(yīng)用開發(fā)的先驅(qū)者之一,對(duì)Android應(yīng)用開發(fā)也有非常深入的研究,尤其精通AIR
Android應(yīng)用的開發(fā)。他對(duì)PHP和Python相關(guān)的技術(shù)也有一定的研究。
此外,他還是一位頗具經(jīng)驗(yàn)的技術(shù)撰稿人和技術(shù)作家,曾經(jīng)在社區(qū)和《程序員》雜志上發(fā)表了大量技術(shù)文章,著有《Flex第一步》等著作。
書籍目錄
前言
第一篇 準(zhǔn)備篇
第1章 AIR Android開發(fā)簡(jiǎn)介
1.1 開發(fā)之前需要了解的信息
1.1.1 AIR Android開發(fā)的可行性
1.1.2 開發(fā)過(guò)程中常見的問(wèn)題
1.1.3 優(yōu)勢(shì)和局限性
1.2 搭建開發(fā)環(huán)境
1.2.1 安裝Android SDK
1.2.2 使用Flash Professional CS5
1.2.3 使用Flash Builder 4.5
1.2.4 構(gòu)建開源的開發(fā)環(huán)境
1.3 實(shí)戰(zhàn):一個(gè)簡(jiǎn)單的AIR項(xiàng)目
1.4 本章小結(jié)
第2章 第一個(gè)AIR Android程序:翻轉(zhuǎn)黑白棋
2.1 游戲的設(shè)計(jì)思路
2.2 像往常一樣編寫ActionScript代碼
2.2.1 創(chuàng)建棋子類Grid
2.2.2 編寫主類Main
2.3 設(shè)置程序?qū)傩?br /> 2.3.1 了解應(yīng)用程序描述文件
2.3.3 設(shè)置訪問(wèn)權(quán)限
2.4 打包APK文件
2.5 安裝和運(yùn)行程序
2.5.1 使用模擬器運(yùn)行程序
2.5.2 在真機(jī)上運(yùn)行程序
2.6 本章小結(jié)
第二篇 基礎(chǔ)篇
第3章 處理用戶交互
3.1 關(guān)于多點(diǎn)觸摸
3.2 處理觸摸事件
3.2.1 使用TouchEvent類
3.2.2 觸摸事件與鼠標(biāo)事件的區(qū)別
3.3 處理手勢(shì)動(dòng)作
3.3.1 放大與縮小手勢(shì)
3.3.2 旋轉(zhuǎn)手勢(shì)
3.3.3 Swipe手勢(shì)
3.4 本章小結(jié)
第4章 加速計(jì)
4.1 Accelerometer API用法
4.2 重力小球?qū)嵗?br /> 4.2.1 如何模擬重力場(chǎng)
4.2.2 繪制小球
4.2.3 讓小球總是掉到屏幕下方
4.2.4 為小球設(shè)置圍墻
4.2.5 優(yōu)化代碼后運(yùn)行程序
4.2.6 管理程序的狀態(tài)
4.3 加速計(jì)實(shí)戰(zhàn):檢測(cè)手機(jī)晃動(dòng)
4.4 本章小結(jié)
第5章 地理定位
5.1 開啟手機(jī)的地理定位功能
5.2 Geolocation API用法
5.3 地理定位實(shí)戰(zhàn):自動(dòng)查詢地址和天氣
5.3.1 查詢地址Geocoding
5.3.2 查詢本地天氣Weather
5.3.3 代碼解析
5.3.4 測(cè)試運(yùn)行
5.4 本章小結(jié)
第6章 整合系統(tǒng)程序
6.1 使用自定義URI調(diào)用系統(tǒng)程序
6.1.1 電話撥號(hào)tel
6.1.2 發(fā)送短信sms
6.1.3 發(fā)送郵件mailto
6.2 使用Android系統(tǒng)自帶的地圖服務(wù)
6.3 使用StageWebView加載網(wǎng)頁(yè)
6.4 本章小結(jié)
第7章 多媒體
7.1 使用攝像頭
7.1.1 攝像頭的傳統(tǒng)用法
7.1.2 使用CameraUI類調(diào)用攝像程序
7.2 使用設(shè)備上的多媒體資源
7.2.1 使用CameraRoll類向系統(tǒng)相冊(cè)添加照片
7.2.2 使用CameraRoll類選取照片
7.3 使用麥克風(fēng)錄音
7.4 播放視頻
7.4.1 AIR支持的視頻格式
7.4.2 播放視頻實(shí)戰(zhàn):VideoPlayer
7.5 本章小結(jié)
第8章 文件和數(shù)據(jù)庫(kù)
8.1 文件系統(tǒng)API
8.1.1 Android文件系統(tǒng)和程序目錄結(jié)構(gòu)
8.1.2 常用的文件操作
8.1.3 用異步方式操作文件
8.2 SQL數(shù)據(jù)庫(kù)
8.2.1 SQLite簡(jiǎn)介
8.2.2 連接數(shù)據(jù)庫(kù)
8.2.3 創(chuàng)建表
8.2.4 添加、查詢、更新和刪除
8.2.5 數(shù)據(jù)庫(kù)實(shí)戰(zhàn):使用查詢參數(shù)重用SQLStatement對(duì)象
8.3 本章小結(jié)
第9章 網(wǎng)絡(luò)通信
9.1 網(wǎng)絡(luò)通信知識(shí)簡(jiǎn)介
9.1.1 網(wǎng)絡(luò)通信API
9.1.2 AIR的安全機(jī)制
9.2 檢測(cè)網(wǎng)絡(luò)狀態(tài)
9.3 Socket實(shí)戰(zhàn):開發(fā)即時(shí)聊天工具
9.3.1 Socket通信流程
9.3.2 在桌面建立服務(wù)器
9.3.3 構(gòu)建簡(jiǎn)單的聊天服務(wù)器
9.3.4 制作聊天客戶端
9.4 強(qiáng)大的P2P功能
9.4.1 P2P通信模型
9.4.2 P2P開發(fā)實(shí)戰(zhàn):視頻直播
9.5 本章小結(jié)
第10章 調(diào)試和發(fā)布
10.1 調(diào)試程序
10.1.1 使用ADL在桌面上調(diào)試程序
10.1.2 遠(yuǎn)程連接Flash調(diào)試器
10.1.3 使用Android SDK的DDMS工具
10.2 發(fā)布程序前的準(zhǔn)備工作
10.2.1 設(shè)置程序的基本屬性
10.2.2 管理程序的版本號(hào)
10.2.3 針對(duì)Android設(shè)備的設(shè)置
10.3 發(fā)布APK文件
10.4 將程序發(fā)布到應(yīng)用商店
10.4.1 發(fā)布到Google Play商店
10.4.2 發(fā)布到安卓市場(chǎng)
10.5 本章小結(jié)
第三篇 進(jìn)階篇
第11章 針對(duì)移動(dòng)設(shè)備的程序設(shè)計(jì)
11.1 設(shè)計(jì)界面
11.1.1 自動(dòng)適應(yīng)不同型號(hào)的屏幕
11.1.2 友好的用戶交互
11.1.3 有效的界面布局
11.2 管理程序的狀態(tài)
11.2.1 監(jiān)測(cè)程序狀態(tài)
11.2.2 實(shí)戰(zhàn):自動(dòng)保存播放位置
11.3 跨平臺(tái)開發(fā)
11.3.1 跨平臺(tái)開發(fā)時(shí)的注意事項(xiàng)
11.3.2 技巧:使用編譯參數(shù)兼容多平臺(tái)
11.4 本章小結(jié)
第12章 鍵盤交互
12.1 Android設(shè)備上的鍵盤交互
12.1.1 Android設(shè)備上的實(shí)體按鍵
12.1.2 監(jiān)聽鍵盤事件
12.2 實(shí)戰(zhàn):使用Menu鍵模擬Android的菜單和行為
12.2.1 創(chuàng)建菜單對(duì)象
12.2.2 關(guān)聯(lián)按鍵動(dòng)作
12.3 Back鍵的用法
12.3.1 實(shí)戰(zhàn):使用Back鍵進(jìn)行頁(yè)面導(dǎo)航
12.3.2 通過(guò)Back鍵自動(dòng)關(guān)閉程序
12.4 本章小結(jié)
第13章 性能優(yōu)化
13.1 了解ActionScript 3.0的運(yùn)行機(jī)制
13.1.1 ActionScript 3.0的特點(diǎn)
13.1.2 關(guān)于垃圾回收機(jī)制
13.2 從編程細(xì)節(jié)處看優(yōu)化
13.2.1 使用最合適的數(shù)據(jù)類型和API
13.2.2 資源的回收和釋放
13.2.3 實(shí)例:一段代碼的優(yōu)化歷程
13.3 常用工具和代碼庫(kù)
13.3.1 使用FlexPMD優(yōu)化代碼
13.3.2 Flash Builder的性能調(diào)試工具Profiler
13.3.3 第三方調(diào)試工具M(jìn)onster Debugger
13.4 優(yōu)化技巧實(shí)戰(zhàn)案例
13.4.1 運(yùn)用render事件減少代碼執(zhí)行
13.4.2 構(gòu)建對(duì)象池重用對(duì)象:動(dòng)態(tài)小球?qū)嵗?br /> 13.4.3 異步事件的使用:搜索SD卡
13.5 本章小結(jié)
第四篇 實(shí)戰(zhàn)篇
第14章 迷宮游戲的準(zhǔn)備階段
14.1 需求分析
14.1.1 游戲規(guī)則
14.1.2 游戲功能的實(shí)現(xiàn)
14.2 技術(shù)要點(diǎn)分析
14.2.1 如何實(shí)現(xiàn)物理效果
14.2.2 如何生成地圖
14.3 Box2D物理引擎
14.3.1 Box2D中的基本概念
14.3.2 示例程序HelloBox2D
14.3.3 實(shí)現(xiàn)碰撞效果
14.4 迷宮地圖算法
14.4.1 問(wèn)題分析
14.4.2 回溯法詳解
14.4.3 代碼實(shí)現(xiàn)
14.5 本章小結(jié)
第15章 迷宮游戲的實(shí)現(xiàn)
15.1 制作迷宮地圖
15.1.1 繪制帶有物理屬性的地圖
15.1.2 添加隨機(jī)障礙物
15.2 加入可“行走”的角色
15.2.1 創(chuàng)建小球
15.2.2 使用加速計(jì)控制小球的移動(dòng)
15.2.3 碰撞檢測(cè)
15.3 游戲狀態(tài)控制
15.3.1 自動(dòng)暫停和恢復(fù)
15.3.2 關(guān)卡設(shè)置
15.4 游戲代碼分析
15.4.1 程序中的類
15.4.2 主程序Game類詳解
15.5 本章小結(jié)
第五篇 高級(jí)篇
第16章 AIR本地?cái)U(kuò)展
16.1 ANE的特點(diǎn)
16.2 一個(gè)簡(jiǎn)單的本地?cái)U(kuò)展
16.2.1 搭建開發(fā)環(huán)境
16.2.2 編寫本地代碼
16.2.3 編寫ActionScript代碼
16.2.4 打包和發(fā)布
16.2.5 在程序中使用本地?cái)U(kuò)展
16.3 ANE進(jìn)階實(shí)戰(zhàn)技術(shù)
16.3.1 Intent機(jī)制:分享信息到社交網(wǎng)站
16.3.2 在頂部狀態(tài)欄顯示系統(tǒng)通知
16.4 本章小結(jié)
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 另外,AIR提供了一個(gè)setRequestedupdateInterVal方法供我們控制update事件的更新間隔。如果程序并不需要頻繁地更新加速計(jì)的值,就可以增大更新間隔,比如: myAcc.setRequestedUpdateInterval(1000); 這句代碼將把更新事件的時(shí)間間隔設(shè)置為1000毫秒,也就是1秒。從性能上考慮,時(shí)間間隔應(yīng)該盡可能的大,同一時(shí)間內(nèi)代碼的執(zhí)行次數(shù)可以減少,耗費(fèi)的系統(tǒng)資源也會(huì)減少,從而減少了電量的消耗。 Accelerometer對(duì)象還有一個(gè)比較重要的屬性muted,和Accelerometer類的靜態(tài)屬性isSupported一樣,也是只讀的,不同的是它表示用戶是否禁止程序使用加速計(jì)的功能。一般Android設(shè)備并沒(méi)有提供控制加速計(jì)的接口,因此只要配置了加速計(jì),muted的值總是false。如果設(shè)備允許用戶控制加速計(jì),則必須判斷muted的值以及muted的變化情況,即監(jiān)聽Accelerometer對(duì)象的狀態(tài)事件。代碼如下: mvAcc.addEventListener(StatusEvent.STATUS,onStatusChanged); private functlon onStatusChangee(e:StatusEvent):void { //根據(jù)myAcc的muted屬性值做下一步計(jì)劃 } 總的來(lái)說(shuō),Acelerometer API用法比較簡(jiǎn)單,看上去似乎并沒(méi)有什么特別之處,不過(guò)讀者看了后面的兩個(gè)小例子,就會(huì)對(duì)加速計(jì)有新的看法。 4.2重力小球?qū)嵗?加速計(jì)也稱為重力感應(yīng)器,因?yàn)樗囊粋€(gè)典型應(yīng)用就是模擬重力場(chǎng)。物體受到重力作用的具體表現(xiàn)為自由落體運(yùn)動(dòng),如果我們能夠讓屏幕上的物體作自由落體運(yùn)動(dòng),看上去就好像是受到重力作用一樣,也就達(dá)到了模擬重力的效果。 本例將嘗試制作一個(gè)受到重力作用的小球,它總是向手機(jī)屏幕的低處運(yùn)動(dòng),即使我們翻轉(zhuǎn)手機(jī)改變屏幕朝向,小球仍然非常聽話地滾向手機(jī)屏幕的最低處。
媒體關(guān)注與評(píng)論
Adobe的AIR移動(dòng)開發(fā)技術(shù)是未來(lái)移動(dòng)開發(fā)跨平臺(tái)技術(shù)的主流之一。十多年來(lái)Flash游戲與應(yīng)用開發(fā)的成熟奠定了它的基礎(chǔ),而Flash通過(guò)AIR來(lái)開發(fā)移動(dòng)端應(yīng)用的便利性和實(shí)用性,已經(jīng)受到了業(yè)界的青睞。本書的出版可謂是順應(yīng)時(shí)代的要求,總結(jié)了作者多年來(lái)在RIA應(yīng)用開發(fā)領(lǐng)域的經(jīng)驗(yàn),希望廣大Flash開發(fā)者能從中受益!——天地會(huì) 全球最大的RIA開發(fā)者社區(qū)/Adobe官方認(rèn)證社區(qū)冠軍AIR移動(dòng)開發(fā)技術(shù)在Adobe未來(lái)10年的發(fā)展戰(zhàn)略中有非常重要的地位,關(guān)乎到Adobe在移動(dòng)開發(fā)領(lǐng)域的地位和話語(yǔ)權(quán),所以Adobe一直在大力投入。AIR移動(dòng)開發(fā)技術(shù)是Flash開發(fā)者的福音,它不僅能讓Flash開發(fā)者利用原有的知識(shí)迅速開發(fā)出基于各種移動(dòng)平臺(tái)的應(yīng)用,而且還能將已經(jīng)存在于PC桌面的AIR應(yīng)用便利地移植到各種設(shè)備上。Android應(yīng)用開發(fā)目前在移動(dòng)開發(fā)領(lǐng)域炙手可熱,本書專門講解了如何開發(fā)利用AIR移動(dòng)開發(fā)技術(shù)開發(fā)基于該平臺(tái)的應(yīng)用。全書內(nèi)容非常全面,各種理論、開發(fā)方法和技巧均覆蓋到了,適合系統(tǒng)學(xué)習(xí);實(shí)戰(zhàn)性非常突出,包含大量案例,可操作很強(qiáng)。此外,本書內(nèi)容也不乏深度,對(duì)性能優(yōu)化等高級(jí)內(nèi)容也進(jìn)行了探討,而且還包括一些最佳實(shí)踐?!U搲?專注Flex開發(fā)本書算得上是AIR移動(dòng)開發(fā)方面的優(yōu)秀之作,全面而深入地講解了如何使用AIR技術(shù)開發(fā)Android應(yīng)用。特別令人印象深刻的是,這本書在多點(diǎn)觸控與重力感應(yīng)等移動(dòng)開發(fā)的關(guān)鍵技術(shù)上有深入的探索,是不同水平層次的AIR移動(dòng)開發(fā)者都值得閱讀并研究的實(shí)戰(zhàn)教材?!狥lash開發(fā)者大會(huì)隨著ANE、Alchemy的出現(xiàn),Native的特性和運(yùn)行性能都得到很大的提升。借助AIR跨平臺(tái)和高效開發(fā)的優(yōu)勢(shì),AIR已完全具備開發(fā)商業(yè)產(chǎn)品的能力。本書針對(duì)AIR for Android開發(fā),詳細(xì)地介紹了手勢(shì)、加速計(jì)、地理定位等移動(dòng)特性開發(fā)細(xì)節(jié),很適合AIR for Android初學(xué)者系統(tǒng)學(xué)習(xí)。在本書指導(dǎo)下,讀者可以快速學(xué)習(xí)AIR for Android開發(fā)的核心知識(shí),省去走彎路的時(shí)間?!罴彦?Adobe專家組成員、瑞研社區(qū)創(chuàng)始人、Flash開發(fā)者大會(huì)組織者、AIR移動(dòng)研究小組(www.todoair.com)委員2007年通過(guò)Flex與彥林相識(shí),3年后,在Flash開發(fā)者大會(huì)上再次和他相遇,5年后的今天,彥林帶給我驚喜,他將自己在AIR和Android應(yīng)用開放方面的經(jīng)驗(yàn)系統(tǒng)總結(jié)了出來(lái)并集結(jié)成書。迫不急待地看了樣章,簡(jiǎn)明扼要是給我的第一印象。插圖不多,但恰到好處。說(shuō)到關(guān)鍵點(diǎn)時(shí),給出了帶有注釋的示例代碼,言簡(jiǎn)意駭,能讓讀者始終保持清晰的思路。對(duì)于想開發(fā)移動(dòng)AIR的同學(xué)來(lái)說(shuō),是一本不錯(cuò)的學(xué)習(xí)教材。希望能借著此類書籍,讓國(guó)內(nèi)的移動(dòng)AIR開發(fā)者隊(duì)伍能更快地發(fā)展壯大,讓Flash技術(shù)更快地滲透到移動(dòng)互聯(lián)網(wǎng)?!猋.Boy 資深Flash技術(shù)專家/就職于騰訊
編輯推薦
《AIR Android應(yīng)用開發(fā)實(shí)戰(zhàn)》由資深A(yù)dobe技術(shù)專家兼資深A(yù)ndroid應(yīng)用開發(fā)工程師親自執(zhí)筆,專業(yè)社區(qū)聯(lián)袂推薦。系統(tǒng)講解利用AIR技術(shù)開發(fā)Android應(yīng)用的方法和流程,以及AIR應(yīng)用在PC、Android設(shè)備和其他移動(dòng)設(shè)備間的移植,包含大量案例、技巧和最佳實(shí)踐。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
AIR Android應(yīng)用開發(fā)實(shí)戰(zhàn) PDF格式下載