Java 2d 游戏不使用平铺 map

标签 java slick2d

我决定用 Java 制作一个 2d 游戏(使用 slick2d 库和 MarteEngine),并且我尝试在没有平铺 map 的情况下进行。如果没有平铺 map ,我接下来的任务似乎会非常困难。这些任务是寻路和碰撞(建筑物和玩家/NPC 之间)。

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

此外,我所说的碰撞是指单元相互碰撞并成为一个单元。我想这可以归类在路径下,但我没有办法解决它们的重叠问题。

欢迎任何想法!

最佳答案

即使不是基于图 block 的游戏,许多游戏仍然将 map 划分为图 block 。

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

编辑

如果您现有的图形不是基于图 block 的,那么使用这种“虚拟”网格进行碰撞检测等仍然值得。如果您愿意,可以将特定的网格方 block 标记为全部或部分“阻塞”检测与 map 特征等的碰撞。

关于Java 2d 游戏不使用平铺 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611584/

相关文章:

java - ActiveMQ:通过 CorrelationId 检查 ActiveMQ SV 队列中是否存在特定消息

java - 如何通过 byte[] 流读取多个文件的 Socket InputStream?

java - 碰到窗口边缘时的字符碰撞

java - 向鼠标方向射击

java - java计算回弹角度

java - 一种光滑的纹理是模糊的,一种不是

java - 生成特定长度范围内唯一的字符串

Java Web Service 保存到数据库后返回 null

java - 单 CPU 机器的最佳 GC 线程数

java - 我可以在 Eclipse 中运行 Debug模式时更改内容吗?