亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)

系統(tǒng) 1993 0
雨松MOMO帶你走進(jìn)游戲開發(fā)的世界之?dāng)z像頭的原理以及更新







雨松MOMO原創(chuàng)文章如轉(zhuǎn)載,請注明:轉(zhuǎn)載自 雨松MOMO的博客 原文地址: http://blog.csdn.net/xys289187120/article/details/6624479









Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)

游戲中攝像頭的原理介紹

在游戲開發(fā)中更新攝像頭的位置可以決定屏幕顯示的內(nèi)容,尤其是RPG類游戲攝像頭有著非常重要的作用,我舉一個例子 有時候我們在玩RPG游戲的時候進(jìn)入一個新的場景 觸發(fā)一段腳本后 發(fā)現(xiàn)鏡頭開始向上移動 根據(jù)鏡頭移動玩家可以大概瀏覽一下這個場景有什么東西 ,觸發(fā)什么樣的劇情。這個實現(xiàn)的方式就是游戲攝像頭原理。


如圖所示:首先攝像頭顯示的區(qū)域也是手機(jī)屏幕顯示的區(qū)域 如果需要更改攝像頭的位置 其實是更改背景地圖的位置 利用程序拖動背景地圖 給玩家一種假象讓玩家感覺像是攝像頭在移動而不是背景地圖在移動。





游戲中地圖的繪制原理介紹

根據(jù)地圖編輯器生成的出來的數(shù)組的每一個tile 的 ID 找到每一個tile的地圖資源原始文件的XY坐標(biāo) 算出來圖片的顯示位置利用程序的切割的方法把每一個tile切割出來顯示在手機(jī)屏幕中。

切割圖片的代碼所示:


canvas.save();
切割圖片之前先把Canvas保存起來 然后在切割 繪制結(jié)束后
canvas.restore();
在把Canvas的在狀態(tài)重置回來 如果不這么做的話 第一張圖片切割后就會擋住以后所有的圖片,所以大家一定要記住這一點喔。

Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)

如圖所示:每一張tile的繪制原理就是這樣,說到這里有些朋友可能就要問 如果我的地圖無限大那根據(jù)這個方法豈不是要循環(huán)無限次?其實屏幕須要繪制的tile數(shù)量只需要繪制屏幕顯示區(qū)域以內(nèi)的, 屏幕現(xiàn)實區(qū)域以外的我們不用考慮繪制 只需要更新地圖的坐標(biāo)數(shù)據(jù)就可以,比如我的模擬器屏幕的大小是320X480 那么我實際繪制的tile數(shù)量只是 10 X15 (塊)。其實游戲開發(fā)繪制中還有一個更重要的繪制技術(shù)就是雙緩沖技術(shù)它可以用來解決屏幕閃爍問題,下一章中我會詳細(xì)介紹。


昨天有朋友跟我提出這種用數(shù)組的方式來繪制地圖不科學(xué)我很同意他的觀點 ,為什么不科學(xué)? 原因是現(xiàn)在我們只有一個場景我們用一個數(shù)組來繪制地圖 萬一我們的游戲有100個場景 我們豈不是要在程序中寫100個數(shù)組了?其實在實際開發(fā)中我們是把這些地圖的信息轉(zhuǎn)成xml文件 打到游戲的包中 玩家在切換游戲場景的時候便會讀取當(dāng)前游戲場景中的地圖xml文件。其實這些xml文件中也是保存這地圖的二位數(shù)組信息 但是這樣做的好處就是數(shù)據(jù)驅(qū)動 程序員不用定義N個數(shù)組 做N種判斷 只須要根據(jù)當(dāng)前切換的場景的ID就可以得到地圖的信息 十分方便 也可以避免代碼中由于筆誤造成的的錯誤 何樂而不為。

但是不管用任何方法處理數(shù)據(jù) 它的繪制原理都是一樣的。

如何更新游戲中攝像頭

效果圖:程序取隨機(jī)數(shù)更新游戲攝像頭

Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)

Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五) Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)



目前以每10000毫秒更新一下攝像頭的位置 (隨機(jī)數(shù)) 我們有了攝像頭的位置以后 就可以在算出背景圖片的相對顯示位置 移動背景圖片的位置后就可以給玩家制造出一種攝像頭在移動的假象了。

地圖塊是我新拼的 長寬的tile塊數(shù)是20X20。


Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)





最后如果你還是覺得我寫的不夠詳細(xì) 看的不夠爽 不要緊我把源代碼的下載地址貼出來 歡迎大家一起討論學(xué)習(xí)
雨松MOMO希望可以和大家一起進(jìn)步。

下載地址: http://download.csdn.net/source/3460437


Android游戲開發(fā)之?dāng)z像頭的原理以及更新 (五)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品视频在线 | 国产精品亚洲第五区在线 | 国产精品欧美韩国日本久久 | 99免费在线播放99久久免费 | 久久99国产综合精品 | 国产视频www | 精品国产免费第一区二区三区日韩 | 四虎在线视频免费观看 | 国产成人精品一区二区免费视频 | 人人澡 人人澡 人人看欧美 | 国产精品色图 | 交专区videossex另类 | 欧美日韩亚洲无线码在线观看 | 欧美美女一区二区三区 | 五月天婷婷在线播放 | 91亚洲精品国产第一区 | 久久久噜噜噜 | 奇米七七七 | 色偷偷成人网免费视频男人的天堂 | 四虎www成人影院观看 | 久久ww| 四虎最新网址在线观看 | 网曝门精品国产事件在线观看 | 亚洲乱视频 | 亚洲综合色自拍一区 | 手机看片国产免费久久网 | 国产中日韩一区二区三区 | 亚洲精品一区二区在线播放 | 男女啪啪猛烈免费网站 | 国产亚洲精品久久久久久久网站 | 两性色午夜视频免费老司机 | 久久精品国产亚洲高清 | 亚洲精品在线视频观看 | 一级毛片成人午夜 | 国产精品原创永久在线观看 | 伊人久久综合热青草 | 日韩视频在线观看一区 | 91精品免费高清在线 | 在线观看深夜观看网站免费 | 中国国产aa一级毛片 | 一本色道久久综合亚洲精品 |