如何确定显示中的物体何时停止移动 lua
How to determine when bodies in display stop moving in lua
我有一些身体在显示中使用物理学移动。我想确定身体何时停止移动,以便调用一个函数来采取行动。
我尝试了这样的功能:
function ball:stopMove ()
if condition then
print("Game Over!!!")
end
end
这不会被调用。我怎样才能正确地做到这一点?
我不知道有任何与运动相关的事件。所以我想你必须经常轮询对象速度是否为零。
您可以here了解如何实现您自己的回调。基本上,您可以创建一个代理 table 作为过滤器,筛选某些操作并对其进行操作。
如果您不想这样做,假设您创建了一个 physics body, the function you are looking for is object:getLinearVelocity
。如果对象的 x 和 y 速度为零,则主体已停止移动。当然,您需要在每次更新时检查这一点。
或者,如果您不使用物理体,则可以自己计算。您需要做的就是跟踪对象的最后一个 x 和 y 位置,如果值相同,则对象自上次更新以来没有移动。
我有一些身体在显示中使用物理学移动。我想确定身体何时停止移动,以便调用一个函数来采取行动。 我尝试了这样的功能:
function ball:stopMove () if condition then print("Game Over!!!") end end
这不会被调用。我怎样才能正确地做到这一点?
我不知道有任何与运动相关的事件。所以我想你必须经常轮询对象速度是否为零。
您可以here了解如何实现您自己的回调。基本上,您可以创建一个代理 table 作为过滤器,筛选某些操作并对其进行操作。
如果您不想这样做,假设您创建了一个 physics body, the function you are looking for is object:getLinearVelocity
。如果对象的 x 和 y 速度为零,则主体已停止移动。当然,您需要在每次更新时检查这一点。
或者,如果您不使用物理体,则可以自己计算。您需要做的就是跟踪对象的最后一个 x 和 y 位置,如果值相同,则对象自上次更新以来没有移动。