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

原文 标签 java slick2d

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

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

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

任何想法表示赞赏!

最佳答案

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

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

编辑

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

相关文章:

java - 加快PAX(OSGI测试)框架的提示

java - 从mysql数据库中获取地图标记到android app

java - 将结果集中的行插入到其他数据库-Jdbc

java - Slick2d |呈现和更新的最佳方法

java - Slick2d以半速播放音频,使音高保持不变

java - 如何创建浮动上下文菜单?

java - 使用Apache POI Java NetBeans Word文档的CTPageSZ类错误

java - 向Java / Slick2D中的鼠标位置射击子弹

java - 用Rawr包装Slick2d JRuby应用程序:缺少类或大写包名称

java - 调用以Graphics g为边界的方法