日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
對(duì)AndroidUI實(shí)例全解析

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

站在用戶的角度思考問題,與客戶深入溝通,找到瑪多網(wǎng)站設(shè)計(jì)與瑪多網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋瑪多地區(qū)。

比如空閑,墻,蘋果,貪食蛇(蛇身或蛇頭)。我們?cè)诓僮饔螒虻倪^程,其實(shí)就是不斷修改相應(yīng)方格的狀態(tài),然后再讓整個(gè)View去重繪制自身(當(dāng)然,還需要加入一些游戲當(dāng)前所處狀態(tài)(失敗或成功)的判定機(jī)制)。

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

再設(shè)置一個(gè)相應(yīng)的二維int型數(shù)組來記錄每一個(gè)方格的狀態(tài),根據(jù)方格的狀態(tài),可以從mTileArray保存的圖標(biāo)文件中讀取對(duì)應(yīng)的狀態(tài)圖標(biāo)。第一次調(diào)用完onSizeChanged后,會(huì)緊跟著第一次來調(diào)用onDraw來繪制View自身,當(dāng)然,此時(shí)由于所有方格的狀態(tài)都是0,所以它在屏幕上等于什么也不會(huì)去繪制。#t#

onDraw要做的工作非常簡(jiǎn)單,就是掃描每一個(gè)方格,根據(jù)方格當(dāng)前狀態(tài),Android UI從圖標(biāo)文件中選擇對(duì)應(yīng)的圖標(biāo)繪制到這個(gè)方格上。當(dāng)然這個(gè)onDraw在游戲進(jìn)行過程中,會(huì)不斷地被調(diào)用,從而界面不斷被更新。想象下對(duì)整個(gè)游戲屏幕拍張照,然后對(duì)其下一個(gè)狀態(tài)再拍張照,那么兩張照片之間的區(qū)別是怎么產(chǎn)生的呢?對(duì)于系統(tǒng)來說。

它只知道不斷調(diào)用onDraw,后者負(fù)責(zé)對(duì)整個(gè)屏幕進(jìn)行繪制,那要產(chǎn)生兩個(gè)屏幕之間的差異,肯定要通過一些手段對(duì)某些數(shù)據(jù)結(jié)構(gòu)。(比如這里的二維方格地圖)進(jìn)行調(diào)整(比如用戶的控制指令,定時(shí)器等),然后等到下一次onDraw時(shí)就會(huì)把這些更改在界面上反映出來。

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

可以打個(gè)簡(jiǎn)單的比方,在時(shí)刻Android UI啟動(dòng),首先把蛇和蘋果的位置都在方格地圖上作好了標(biāo)記,然后我們?cè)趗pdate函數(shù)中修改蛇身讓蛇向北前進(jìn)一步。而這個(gè)改變此時(shí)還只是停留在內(nèi)部的核心數(shù)據(jù)結(jié)構(gòu)上(即二維方格地圖),還沒有在界面上顯示出來。當(dāng)然,我們馬上想到要想讓這更改顯示出來。

讓系統(tǒng)調(diào)用onDraw去繪制不就完了嗎?可是問題是我們不知道系統(tǒng)是隔多長(zhǎng)時(shí)間去調(diào)用onDraw函數(shù),于是mMoveDelay此時(shí)就發(fā)揮作用了。通過它就可以設(shè)置休眠的時(shí)間,等時(shí)間一到,馬上就會(huì)通知SnakeView去重繪制。你可以試試把mMoveDelay數(shù)值調(diào)大,就會(huì)看出我上面提到的“拍照“的效果。


網(wǎng)站題目:對(duì)AndroidUI實(shí)例全解析
文章URL:http://www.dlmjj.cn/article/dpggsjh.html