从一个尚未声明的函数中获取一个对象?

时间:2014-05-14 01:56:30

标签: lua

从尚未声明的函数中获取对象?

嗯,基本就是这样,我需要使用

character:removeEventListener ("touch", movePerson) 

只有movePerson才会发生......我不能把它留给以后,必须在......以某种方式?

询问更多详细信息,但这几乎是所有信息' - '这很简单:我必须在movePerson函数之前的函数中绘制该行...我认为这更令人困惑吧? :S

1 个答案:

答案 0 :(得分:1)

您可以在顶部定义它,稍后将功能分配给它,如下所示:

local character = display.newRect(200,200,200,200)
local movePerson -- This will be a reference to the function, so functions below can "see" it. 

local function addListener()
    character:addEventListener ("touch", movePerson)
end

local function removeListener()
    character:removeEventListener ("touch", movePerson) 
end

movePerson = function(event) -- Right here you declare it to the variable on top
    print(tostring(event.phase))
end

addListener()
removeListener()

请注意,您必须在声明后将其删除,就像示例中一样,除非绝对必要,否则我认为这样做是不错的做法。