碰撞兼容模式

在项目的 常规游戏选项 中,您可以启用 " 碰撞兼容模式 " 以切换到旧版碰撞系统。仅当您在升级到 GameMaker2022.1 或更新版本 (这改变了碰撞的工作方式) 后发现现有项目中存在奇怪的碰撞行为时,才需要执行此操作。

Collision Compatibility Mode option in Game Options

碰撞中的更改

在遗留的碰撞系统中,所有边界框坐标都四舍五入为整数,并且是"独占的",即它们将排除碰撞遮罩的最底部和最右侧的边。例如,16 x 16碰撞遮罩的边界框将从(0,0 )(15,15 )(相对)生成。对于仅使用整数值进行定位和缩放的实例,这将非常有效,但是使用浮点值会导致意外行为,并导致渲染和碰撞检查之间的轻微断开,因为GameMaker随后会始终舍入边界框值以执行碰撞检查。

在当前碰撞系统中,边界框值不是四舍五入的,而是按原样使用,这意味着碰撞更加精确,并且行为与预期的一样。边界框现在也是"包含"的,也就是说,它们包含最底部和最右侧的边。例如,16 x 16碰撞遮罩的边界框现在从(0.0,0.0 )(16.0, 16.0 )(相对)生成。

兼容性模式

上述碰撞更改可能会导致某些现有项目中断,您可以通过为此类项目启用碰撞兼容模式来轻松修复这些碰撞,以便使用传统的碰撞系统;但是,建议测试并升级您的碰撞代码,以便与新系统一起使用,因为它应该允许您的游戏具有更准确和更合理的碰撞。

对于新项目或不使用现有碰撞代码的项目,无需启用此选项。