Question

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?

Was it helpful?

Solution

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

OTHER TIPS

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top