代码之家  ›  专栏  ›  技术社区  ›  Dips

返回事件。对象在冲突过程中转换为另一个函数-Corona SDK

  •  0
  • Dips  · 技术社区  · 9 年前

    在我的碰撞中,我正在使用event.object1.name和event.object2.name检测哪些生成与屏幕底部的城堡对象碰撞。这很好,但我想返回特定的产卵(与城堡碰撞)并使用它的事件。如果可能的话,在另一个函数中的对象。我该怎么做?

    干杯

    我的碰撞如下:

    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  
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   Piglet    9 年前

    您可以在删除对象之前简单地使用它。

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

    function doSomethingWithTheObject(obj)
      -- do something fancy here
      print(obj.name)
    end
    

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

    doSomethingWithTheObject(event.object1)