我有一些物体在物理显示中移动。我想确定何时机构停止移动以便调用函数来采取行动。 我试过这样的功能:如何确定显示器中的物体何时停止在lua中移动
function ball:stopMove() if condition then print("Game Over!!!") end end
这不会被调用。我如何正确地做到这一点?
我有一些物体在物理显示中移动。我想确定何时机构停止移动以便调用函数来采取行动。 我试过这样的功能:如何确定显示器中的物体何时停止在lua中移动
function ball:stopMove() if condition then print("Game Over!!!") end end
这不会被调用。我如何正确地做到这一点?
您可以here看看如何实现自己的回调。基本上你可以创建一个代理表作为过滤器,筛选某些行为并对其采取行动。
如果你不想这样做,假设你创建了physics body,你正在寻找的功能是object:getLinearVelocity
。如果物体的x和y速度为零,则物体停止移动。当然,您需要检查每次更新。
另外,如果你不使用物理体,你可以自己计算。您只需跟踪对象的最后一个x和y位置,并且如果值相同,则该对象自从持续更新后未移动。
这是否意味着我必须继续等待身体停止移动的间隔后才进行轮询? – user3547555
@ user3547555我不确定你的意思,虽然我已经更新了我的答案,包括一个相关的链接,我认为这将是解决您的问题的方法 – DavisDude
我不知道有任何移动相关事件。所以我猜你必须经常轮询物体速度为零。
请包括您实际尝试的内容,例如,什么是“condition”? – DavisDude