我决定用Java创建一个2D游戏(使用slick2d库和MarteEngine),我试图在没有平铺地图的情况下进行游戏。如果没有平铺地图,我的即将到来的任务似乎将非常困难。这些任务是路径和碰撞(建筑物和玩家/ NPC之间)。
是否几乎不可能轻松实现寻路和碰撞系统?我想我总是可以手动在游戏中创建一个网格,但考虑到我必须移动它,因为我有一个功能相机,这可能会变得有点混乱。
此外,通过碰撞,我指的是相互走入并成为一个单位的单位。我想这可以归类为路径,但我没有办法解决它们重叠的问题。
感谢任何想法!
答案 0 :(得分:3)
即使不是基于图块的游戏,很多游戏仍将地图划分为图块。
原因是您可以通过检查对象是否与当前图块或任何相邻图块中的任何对象重叠来进行碰撞检测。只要你的物体不大于瓷砖,这种碰撞检测方案就可以保证解决所有可能的碰撞。
修改强>
如果您现有的图形不是基于图块的,那么仍然可以使用这种“虚拟”网格进行碰撞检测等。如果您想要,可以将特定网格方块标记为全部或部分“阻止”检测与地图特征等的碰撞。