Corona:在销毁期间从运行时删除事件侦听器时出错
Corona: Error on removing event listeners from runtime during destroy
我正在清理 Corona 中的一个场景,并试图删除该场景的销毁事件中的事件侦听器。我在场景的show事件中添加了事件,如下:
function scene:show(event)
Runtime:addEventListener("enterFrame", onFrame)
Runtime:addEventListener("touch", onTap)
Runtime:addEventListener("collision", onCollision)
end
function scene:destroy(event)
Runtime.removeEventListener("enterFrame", onFrame)
Runtime.removeEventListener("touch", onTap)
Runtime:removeEventListener("collision", onCollision)
end
我在销毁事件中得到一个空指针:
?:0: attempt to index field '_super' (a nil value)
stack traceback:
?: in function 'removeEventListener'
它试图访问什么“_super”,为什么为零?我已经检查过,上面列出的所有函数(onFrame、onTap 和 onCollision)都不为零。如果有人知道这里发生了什么,请告诉我!
您似乎在调用 removeEventListener 时输入错误。
参见:
运行时。 removeEventListener() 与
运行时: removeEventListener()
当您使用“.”调用 removeEventListener 时(点),那么运行时引用不会作为第一个参数隐式传递给 removeEventListener()。
我正在清理 Corona 中的一个场景,并试图删除该场景的销毁事件中的事件侦听器。我在场景的show事件中添加了事件,如下:
function scene:show(event)
Runtime:addEventListener("enterFrame", onFrame)
Runtime:addEventListener("touch", onTap)
Runtime:addEventListener("collision", onCollision)
end
function scene:destroy(event)
Runtime.removeEventListener("enterFrame", onFrame)
Runtime.removeEventListener("touch", onTap)
Runtime:removeEventListener("collision", onCollision)
end
我在销毁事件中得到一个空指针:
?:0: attempt to index field '_super' (a nil value)
stack traceback:
?: in function 'removeEventListener'
它试图访问什么“_super”,为什么为零?我已经检查过,上面列出的所有函数(onFrame、onTap 和 onCollision)都不为零。如果有人知道这里发生了什么,请告诉我!
您似乎在调用 removeEventListener 时输入错误。
参见:
运行时。 removeEventListener() 与
运行时: removeEventListener()
当您使用“.”调用 removeEventListener 时(点),那么运行时引用不会作为第一个参数隐式传递给 removeEventListener()。