(一)地圖結(jié)構(gòu) 2D游戲的原理比3D游戲的原理感覺要容易的多,很好理解。整個(gè)世界分成多個(gè)區(qū)域,每個(gè)區(qū)域通過“出入口連接”,
進(jìn)入一個(gè)區(qū)域前先加載所有的地圖資源,組成一個(gè)大的地圖,每張地圖又分成m*n個(gè)肖方塊,然后根據(jù)玩家的坐標(biāo)計(jì)算出
地圖在屏幕顯示的范圍。
(二)滾屏的實(shí)現(xiàn): 假設(shè)玩家的坐標(biāo)是:(xPos,yPos)
地圖tile的大小:tileWidth,tileHeight;
則在屏幕左上角的小方塊的索引是(xPos/tileWidth,yPos/tileHeight)小方塊的偏移是(xPos%tileWidth,yPos%tileHeight)
這樣玩家移動(dòng)時(shí)更新xPos,yPos,繪制的時(shí)候就產(chǎn)生了滾屏現(xiàn)象。
(三)遮擋
地圖分三層:地貌,小物品(靜態(tài)),大的靜止的物體(好像有些地方叫做遮擋物,不知道是不是這樣稱呼)為了顯示
正常的遮擋關(guān)系,繪制順序?yàn)椋旱孛?>小物品(靜態(tài))->大的靜止的物體,從左到右,由上到下,其實(shí)就是從左到右一行一行的繪制。
(四)繪制
Directx 9.0c
ID3DXSprite