成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對Android UI實例全解析

移動開發 Android
Android UI是指用戶和某些系統進行交互方法的集合,這些系統不單單指電腦程序,還包括某種特定的機器,設備,復雜的工具等。

下面文章著重講解界面的Android UI部分,基本的操作大家還是了解的,把整個屏幕看做一個二維數組,每一個元素可以視為一個方塊,因此每個方格在游戲進行過程中可以處于不同的狀態。

比如空閑,墻,蘋果,貪食蛇(蛇身或蛇頭)。我們在操作游戲的過程,其實就是不斷修改相應方格的狀態,然后再讓整個View去重繪制自身(當然,還需要加入一些游戲當前所處狀態(失敗或成功)的判定機制)。

那么在游戲還未正式開始前,首先要做一些初始化工作,在View第一次加載時會首先調用onSizeChanged,這里就是做這些事的最好時機。注意模擬器屏幕默認的像素是320×400,而代碼中默認的方格大小為12,因此屏幕上放置的方格數為26×40,把屏幕剖分成這么大后。

再設置一個相應的二維int型數組來記錄每一個方格的狀態,根據方格的狀態,可以從mTileArray保存的圖標文件中讀取對應的狀態圖標。第一次調用完onSizeChanged后,會緊跟著第一次來調用onDraw來繪制View自身,當然,此時由于所有方格的狀態都是0,所以它在屏幕上等于什么也不會去繪制。#t#

onDraw要做的工作非常簡單,就是掃描每一個方格,根據方格當前狀態,Android UI從圖標文件中選擇對應的圖標繪制到這個方格上。當然這個onDraw在游戲進行過程中,會不斷地被調用,從而界面不斷被更新。想象下對整個游戲屏幕拍張照,然后對其下一個狀態再拍張照,那么兩張照片之間的區別是怎么產生的呢?對于系統來說。

它只知道不斷調用onDraw,后者負責對整個屏幕進行繪制,那要產生兩個屏幕之間的差異,肯定要通過一些手段對某些數據結構。(比如這里的二維方格地圖)進行調整(比如用戶的控制指令,定時器等),然后等到下一次onDraw時就會把這些更改在界面上反映出來。

這里要著重說明下private long mMoveDelay = 600;這個成員變量,雖然很不起眼,但仔細考慮它的作用就會發現很有趣,那么改變它的大小到底是如何讓我們感覺到游戲變快或變慢呢?

可以打個簡單的比方,在時刻Android UI啟動,首先把蛇和蘋果的位置都在方格地圖上作好了標記,然后我們在update函數中修改蛇身讓蛇向北前進一步。而這個改變此時還只是停留在內部的核心數據結構上(即二維方格地圖),還沒有在界面上顯示出來。當然,我們馬上想到要想讓這更改顯示出來。

讓系統調用onDraw去繪制不就完了嗎?可是問題是我們不知道系統是隔多長時間去調用onDraw函數,于是mMoveDelay此時就發揮作用了。通過它就可以設置休眠的時間,等時間一到,馬上就會通知SnakeView去重繪制。你可以試試把mMoveDelay數值調大,就會看出我上面提到的“拍照“的效果。

責任編輯:chenqingxiang 來源: 人民郵電出版社
相關推薦

2010-02-06 17:17:17

Android手機

2010-03-03 14:51:02

Android手機

2010-03-03 13:43:46

Android手機系統

2010-03-04 16:38:37

Android開發技巧

2010-02-04 16:03:40

Android傳感器

2010-02-07 10:21:27

Android應用程序

2010-02-22 10:18:29

Python代碼

2010-03-01 14:28:46

Python進程

2010-04-02 17:45:22

Black Berry

2009-12-15 14:49:23

VS 2005開發界面

2010-03-01 18:21:08

Python測試

2010-02-06 10:14:36

Android Act

2016-12-02 19:00:13

Android FraAndroid

2011-09-14 10:29:23

Android UI設

2011-09-07 14:01:41

Android Wid實例

2011-09-07 17:54:40

Android Wid開發

2013-02-20 15:29:00

JSONAndroid開發

2010-11-25 13:53:13

UI設計移動

2010-02-06 09:38:42

Android調用服務

2010-03-02 15:51:05

Android手機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品美女在线观看视频在线观看 | 亚洲一区二区三区四区五区午夜 | 亚洲一区精品在线 | 欧美13videosex性极品 | 91久久久久久久久久久久久 | 日韩精品免费播放 | 一区二区三区视频在线观看 | 色综合久 | 欧美一级二级三级视频 | 免费精品视频在线观看 | 久久国产精品视频免费看 | 91精品国产综合久久精品 | 日韩精品免费视频 | 男人天堂社区 | 国产91精品网站 | 日韩一区二区三区视频 | 韩国av一区二区 | 久久久久久久97 | 97伦理电影 | 日韩精品国产精品 | 国产一级在线视频 | 美女在线视频一区二区三区 | 亚洲在线一区二区 | 国产成人综合av | 国产精品18hdxxxⅹ在线 | 欧美韩一区二区三区 | 国产精品亚洲一区二区三区在线 | a级在线免费视频 | 欧美 视频| 国产中文 | 国产日产欧产精品精品推荐蛮挑 | 欧美日韩高清免费 | 久久爱综合 | 久久一级免费视频 | 四虎影院在线播放 | 日韩视频精品在线 | 精品久久久久国产 | 天天看天天摸天天操 | 久久9999久久 | 日韩成人中文字幕 | 精品欧美视频 |