Return 一个 event.object 到碰撞期间的另一个函数 - Corona SDK
Return an event.object to another function during collision - Corona SDK
在我的碰撞中,我使用事件 object1.name 和事件 object2.name 检测屏幕底部哪些生成物与我的城堡对象发生碰撞。这工作正常,但我想 return 那个特定的产卵(与那座城堡相撞)并在可能的情况下在另一个函数中使用它的 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
您可以在删除之前简单地使用该对象。
display.remove(event.object1)
从显示中删除对象 1。
event.object.1 = nil
删除它
function doSomethingWithTheObject(obj)
-- do something fancy here
print(obj.name)
end
然后在删除对象之前调用您的函数:
doSomethingWithTheObject(event.object1)
在我的碰撞中,我使用事件 object1.name 和事件 object2.name 检测屏幕底部哪些生成物与我的城堡对象发生碰撞。这工作正常,但我想 return 那个特定的产卵(与那座城堡相撞)并在可能的情况下在另一个函数中使用它的 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
您可以在删除之前简单地使用该对象。
display.remove(event.object1)
从显示中删除对象 1。
event.object.1 = nil
删除它
function doSomethingWithTheObject(obj)
-- do something fancy here
print(obj.name)
end
然后在删除对象之前调用您的函数:
doSomethingWithTheObject(event.object1)