游戏开发,碰撞

Game Development, Collision

我是游戏开发新手,正在尝试编写 2D RPG 游戏代码。我正在使用 PNG 图像创建对象并四处移动。所以很容易检测到矩形和其他像这样的简单形状之间的碰撞。

if(object1.collides(object2)){
}

检测玩家或 npc 等图像对象碰撞的最佳方法是什么?

最常见的方法是创建一个大致与您的对象形状相似的碰撞框。 Hitbox 可以非常简单,就像围绕您的对象的矩形或圆形,实际上是不可见的。
看看这个例子,黑框是马里奥的hitbox,你只需要检查它的边界:

但如果您确实需要精度,则需要遍历图像的像素并创建自定义多边形。但是,您的多边形越复杂,就越难检测到碰撞。大多数时候,游戏开发者依靠物理引擎来处理它。