我們要開始創造這個遊戲世界啦! 先畫個角色,之後給這個角色實體定義基礎最初的參數。 如下:
角色在哪?(空間位置) pos:{x:y:z} 對於一個2D遊戲空間位置Z代表了所在高度,而XY自然就是縱深位置了。 角色體積(碰撞體) size:{x:y:z} 這組數據決定了當前實體的空間佔位範圍,用來做碰撞啊,重疊啊計算。 角色部件組成(多個精靈體) 精靈體可以理解為實體內部包含的多個其他實體(稱之為部件),比如角色揹包同角色就是兩個實體相對於局部座標(碰撞體內部)通過部件的pos參數決定所在位置,組成實體。 一組部件合體為一個實體,實體有自己的體積及位置。 就這樣我們的2d遊戲世界最初的基礎設計完成啦。 有的小夥伴就說啦:這個Z參數是不是多餘啊? 嗯嗯 我們要做的是一個3維空間的遊戲雖然看著是2D的世界。 那麼這個Z參數是必須的哦,有了Z 我們就可以實現很多玩法啦。 比如
地形的高度概念
基於Z數據的高度空間實現
磁吸附的實現
跳躍的實現 (嗯嗯游泳待實現)
戰鬥中跳躍
Z高度的攻擊範圍
嗯嗯 明天繼續更哈~