Ravn
Ravn

Reputation: 223

Lua: how do I add display objects required from external functions to display groups?

In a storyboard scene, I require a bunch of display objects from external functions. When I attempt to add these to the scene's display group, I get the error "table expected."

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

The external function looks like this:

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

What am I doing wrong?

Upvotes: 0

Views: 549

Answers (2)

NaviRamyle
NaviRamyle

Reputation: 4007

The return object must be inside on the function that you're calling.

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

Upvotes: 1

Eyeball
Eyeball

Reputation: 3317

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

Try changing it to

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

Upvotes: 0

Related Questions