在 Corona SDK 中,在碰撞过程中将 event.object 返回给另一个函数

在我的碰撞过程中,我使用 event.object1.name 和 event.object2.name 来检测哪些产生物与屏幕底部的城堡对象发生了碰撞。这很好用,但我想返回那个特定的产生物(与那个城堡发生了碰撞)并在可能的情况下在另一个函数中使用它的 event.object。我该怎么做呢?

干杯

我的碰撞过程如下所示:

local function onCollision(event)
if event.phase == "began" and gameIsActive == true then

if event.object1 ~= nil and event.object1.name == "Blue" and event.object2 ~= nil and event.object2.name == "arrow" or event.object1 ~= nil and event.object1.name == "arrow" and event.object2 ~= nil and event.object2.name == "Blue" then
    if event.object2.name == "arrow" then display.remove(event.object2) event.object2 = nil; onHit()

    elseif event.object1.name == "arrow" then display.remove(event.object1) event.object1 = nil; onHit()

    end
end
点赞
用户2858170
用户2858170

在删除对象之前,您可以直接使用该对象。

display.remove(event.object1) 将 object1 从显示中移除。 event.object.1 = nil 删除它

function doSomethingWithTheObject(obj)
  -- 做些花里胡哨的事情
  print(obj.name)
end

然后在删除对象之前调用您的函数:

doSomethingWithTheObject(event.object1)
2016-04-18 13:32:15