java - Java 2d游戏未使用平铺地图

我决定用Java制作2D游戏(使用slick2d库和MarteEngine),然后尝试在没有平铺地图的情况下进行游戏。如果没有平铺的地图,似乎我接下来的任务将非常困难。这些任务是路径和碰撞(在建筑物与玩家/ NPC之间)。

轻松实现寻路和碰撞系统几乎是不可能的吗?我想我总是可以在游戏中手动创建一个网格,但是考虑到我必须要移动它,因为我有一个功能良好的相机,这可能会有点混乱。

同样,通过碰撞我指的是单位彼此步入并成为一个单位。我想可以将其归类为路径,但是我没有解决它们重叠的解决方案。

任何想法表示赞赏!

最佳答案

即使不是基于图块的游戏,许多游戏仍会将地图划分为图块。

原因是可以通过检查对象是否与当前图块中的任何对象或任何相邻图块重叠来进行冲突检测。只要您的对象不大于图块,此碰撞检测方案就可以保证解决所有可能的碰撞。

编辑

如果您现有的图形不是基于图块的,则仍然值得使用这种“虚拟”网格进行碰撞检测等。如果要检测与以下位置的碰撞,可以将特定的网格正方形标记为全部或部分“阻塞”地图特征等。

本文翻译自 https://stackoverflow.com/questions/10611584/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 java slick2d


相关文章:

java - 如何使布尔值持续一定时间?

java - Java Slick2D Line构造函数抛出NullPointerException

java - Java string / stringbuilder在mysql数据库中插入null

java - Slick2d |实体碰撞检测

java - Java中受保护的引用[重复]

java - 如何在Android中向HTTP GET请求添加参数?

java - 尝试为乒乓球拍制作AI时出现奇怪的故障

java - Slick2D-如何使用字体

java - 休眠返回不同的时间戳

java - 在Java中使用Jsoup从网站的URL读取输入隐藏标签值