Lua 中的手动碰撞检测

我正在Lua中制作一个简单的矩形矩形碰撞。我有一个我在其他项目中用于这种类型碰撞的算法,但它是用C ++编写的,我知道它可以工作。问题在于它使用矩形的中心。虽然很容易计算,但是随着精灵的移动,我有困难保持中心在中心位置。这是我在做什么:

--这将移动碰撞的边界框,但不移动中心

self.boundingBox.sprite.tween = transition.to(self.boundingBox.sprite,{ transistion = easing.outExpo, y = arg.y, x=arg.x,time = arg.time,onComplete = function() end});

精灵正在按预期移动,但属性“self.boundingBox.centerY”没有移动,我不确定处理这种情况的最佳方法是什么。请帮忙,谢谢。

点赞
用户2393536
用户2393536

代码似乎根本没有移动 self.boundingBox,因为 transition.to 的参数是 self.boundingBox.sprite。

如果 boundingBox 是一个包含精灵的组,那么你可以将 self.boundingBox.sprite 更改为 self.boundingBox,这样两者都应该移动。 否则,你需要检查精灵的属性更改,而不是 boundingBox。

2013-05-17 11:07:22