Lua:如何将外部函数所需的显示对象添加到显示组?

时间:2013-07-30 17:55:42

标签: lua corona displayobject corona-storyboard

在故事板场景中,我需要一堆来自外部函数的显示对象。当我尝试将这些添加到场景的显示组时,我收到错误“table expected。”

function scene:createScene(event)
    local group=self.view
    local shieldDisplay = shieldDisplay.new()
    group:insert(shieldDisplay)
end

外部函数如下所示:

function shieldDisplay.new()
    shieldDisp = display.newText("Shield: "..tostring(Cshield), 1165, 20, native.systemFont, 30)
    shieldDisp:setTextColor(9,205,235)
end
return shieldDisplay

我做错了什么?

2 个答案:

答案 0 :(得分:1)

返回对象必须位于您正在调用的函数内部。

function shieldDisplay.new()
    local shieldDisp = display.newText("Shield: "..tostring(Cshield), 1165, 20, native.systemFont, 30)
    shieldDisp:setTextColor(9,205,235)
    return shieldDisp 
end

答案 1 :(得分:0)

function scene:createScene(event)
    local group=self.view
    local shieldDisplay = shieldDisplay.new()
    group:insert(shieldDisplay)
end

尝试将其更改为

function scene:createScene(event)
    local group=self.view
    local shieldDisplay = shieldDisplay.new
    group:insert(shieldDisplay)
end