javascript - 游戲里面背景移動(dòng)的原理是什么?
問(wèn)題描述
比如人向前走,背景向后,切換畫(huà)布
問(wèn)題解答
回答1:實(shí)現(xiàn)的原理可以有很多,根據(jù)游戲的主題和內(nèi)容會(huì)有所差異。我所知道的常見(jiàn)比較好實(shí)現(xiàn)的:1、設(shè)置一張背景圖,平鋪游戲主體區(qū)域大小,設(shè)置background-repeat為repeat,通過(guò)定時(shí)器改變?cè)搱D片的background-position的坐標(biāo)即可實(shí)現(xiàn)(例如微信上的打飛機(jī)游戲的背景)。2、此外還有一些背景相對(duì)復(fù)雜的可采用一個(gè)子容器內(nèi)含有多張背景圖無(wú)間隙拼接,針對(duì)父容器做相對(duì)定位,移動(dòng)即改變子容器的top、left值等(類似于輪播圖的原理),因?yàn)槿讼蚯白邔?shí)際上只是“人”這個(gè)層級(jí)在限定區(qū)域內(nèi)活動(dòng),同時(shí)地面和背景在另一相同的層級(jí)往人的相反方向定位移動(dòng)的效果所產(chǎn)生的。
回答2:我第一印象是超級(jí)瑪麗這種2D游戲,它的背景并不是二方連續(xù)的,左右方向,我覺(jué)得最笨的辦法就是那個(gè)2D背景很長(zhǎng)很長(zhǎng),然后攝像機(jī)一直往前推進(jìn),哈哈。
相關(guān)文章:
1. Span標(biāo)簽2. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題3. redis啟動(dòng)有問(wèn)題?4. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””5. docker-compose中volumes的問(wèn)題6. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。7. javascript - ng-options 設(shè)置默認(rèn)選項(xiàng),不是設(shè)置第一個(gè)哦,看清楚了!8. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。9. java - Collections類里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?10. css - 求推薦適用于vue2的框架 像bootstrap這種類型的
