【问题标题】:Manual Collision Detection in LuaLua 中的手动碰撞检测
【发布时间】:2013-05-12 01:05:49
【问题描述】:

所以我在 Lua 中为我的游戏做一个简单的矩形矩形碰撞。我有一个算法用于其他项目来处理这种类型的碰撞,但它在 C++ 中,我知道它有效。问题是它使用矩形的中心。虽然很容易计算我在保持中心时遇到问题,但在精灵移动时处于中心位置。这是我在做什么

--this moves the bounding box of the collision, BUT not the center

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”不是,我不确定处理这种情况的最佳方法是什么。请帮忙谢谢

【问题讨论】:

  • 我不确定您是否可以在过渡中获得对象的位置。这可能是有问题的。我建议您使用 enterFrame 事件侦听器并手动更新对象的位置。这样,您可以更有效地处理碰撞

标签: lua collision-detection collision coronasdk


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-12-13
    • 2015-02-09
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多