我们要开始创造这个游戏世界啦!
先画个角色,之后给这个角色实体定义基础最初的参数。
如下:
角色在哪?(空间位置) pos:{x:y:z}
对于一个2D游戏空间位置Z代表了所在高度,而XY自然就是纵深位置了。
角色体积(碰撞体) size:{x:y:z}
这组数据决定了当前实体的空间占位范围,用来做碰撞啊,重叠啊计算。
角色部件组成(多个精灵体)
精灵体可以理解为实体内部包含的多个其他实体(称之为部件),比如角色背包同角色就是两个实体相对于局部坐标(碰撞体内部)通过部件的pos参数决定所在位置,组成实体。
一组部件合体为一个实体,实体有自己的体积及位置。
就这样我们的2d游戏世界最初的基础设计完成啦。
有的小伙伴就说啦:这个Z参数是不是多余啊?
嗯嗯 我们要做的是一个3维空间的游戏虽然看着是2D的世界。
那么这个Z参数是必须的哦,有了Z 我们就可以实现很多玩法啦。
比如
地形的高度概念
基于Z数据的高度空间实现
磁吸附的实现
嗯嗯 明天继续更哈~
厉害
干巴爹!!
好担心会像CrossCode那样让人无法判断高低差……
@方程:可以增加阴影效果来表示高低差吧