什么是卷軸
玩過(guò)RPG或者橫版格斗的同學(xué)應(yīng)該知道,人物走到屏幕中央后,由于地圖過(guò)大,地圖會(huì)進(jìn)行移動(dòng),人物則相對(duì)靜止不動(dòng)。這個(gè)就是傳說(shuō)中的卷軸。例如下圖是我的游戲“三國(guó)戰(zhàn)線”里的卷軸:

有了以上的簡(jiǎn)介,大家應(yīng)該明白了什么是卷軸。說(shuō)白了就是鏡頭跟隨主角的效果。接下來(lái),我們就利用lufylegend.js游戲引擎來(lái)實(shí)現(xiàn)這個(gè)效果。
原理介紹
其實(shí)實(shí)現(xiàn)這個(gè)效果的關(guān)鍵在于如何使人物靜止,何時(shí)移動(dòng)地圖,以及如何移動(dòng)地圖。在探究這個(gè)兩個(gè)問(wèn)題之前,我們先創(chuàng)建一個(gè)結(jié)構(gòu)良好的舞臺(tái)層(及一個(gè)LSprite對(duì)象),以便以后的操作。舞臺(tái)結(jié)構(gòu)如下:
+- 舞臺(tái)層
|
+- 地圖層
|
+- 人物層
可見(jiàn)舞臺(tái)層就是地圖層和人物層的父元素,并且人物層在地圖層上方,畢竟人物是站在地圖上的。我們知道,子對(duì)象的坐標(biāo)是相對(duì)于父對(duì)象的,所以移動(dòng)父對(duì)象,子對(duì)象會(huì)跟著移動(dòng)。這點(diǎn)要先弄明白。
如何使人物靜止呢?何時(shí)移動(dòng)地圖呢?如何移動(dòng)地圖呢?也許你會(huì)想,首先用if(xxx){...}來(lái)判斷人物的坐標(biāo)是否達(dá)到屏幕中央,如果是,則移動(dòng)地圖對(duì)象,如果不是則移動(dòng)人物對(duì)象。這么做的話就麻煩了。其實(shí)有更簡(jiǎn)單的方法:
卷軸/不卷軸時(shí),我們的人物都是在移動(dòng),但是如果人物達(dá)到屏幕中央時(shí),要開(kāi)始卷軸了,我們的舞臺(tái)層就進(jìn)行與人物速度方向相反、大小相同的移動(dòng),那么人物的相對(duì)于canvas畫布的位移就抵消了,看上去就是靜止的,而地圖就跟著父類向反方向移動(dòng)。這個(gè)類似于拍古裝電影,拍兩個(gè)人一邊騎馬一邊談話。如果人和馬在前進(jìn),攝像機(jī)以相同的速度跟拍,那么得到的畫面就是人物并沒(méi)有移動(dòng),而人物背后風(fēng)景是在移動(dòng)的。
接下來(lái)看實(shí)現(xiàn)代碼。
實(shí)現(xiàn)代碼
以下是含有詳細(xì)注釋的代碼:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
學(xué)習(xí)交流
- 綠毒越獄軟件 完美越獄4.21教程12-21
- htcg15怎么刷機(jī)?htcg15刷機(jī)教程12-21
- HTC hd7刷安卓2.2全教程12-21
- mpkg軟件下載和卸載的方法12-21
熱門圖片
猜你喜歡的新聞
- 最牛同桌!我考了696分我同桌考了703分
- 650分!高二女生考入北大:遺憾不能上高三
- 男生估分600只考了397 媽媽:高考雖重要,但不
- 唐尚珺回應(yīng)是否會(huì)直播帶貨:有人出100萬(wàn)想和
- 名校搶人名場(chǎng)面:清華、北大太拼了!
- 男生高考語(yǔ)文滿分!網(wǎng)友:第一次聽(tīng)說(shuō)
- 第16次參加高考!唐尚珺今年成績(jī)超600分
- 語(yǔ)文145分學(xué)霸筆記公開(kāi)字跡清秀:多閱讀,該背
- 數(shù)學(xué)滿分!四川綿陽(yáng)一男生高考710分 理綜僅扣
- 阿里全球數(shù)學(xué)競(jìng)賽選手:決賽專業(yè)性太強(qiáng),6道題



















