Hi! I’m fairly new at coding and have been working on a simple ebook style app in the simulator. All was running well but I wanted the text to scroll so I tried to add a textBox. In order to see if it worked i had to build for Android and load it onto my phone… except I cant get it to even reach the screen with the textBox I get snagged up on the title page with a runtime error. error on line 36, it’s an upvalue error on my background (a nil value). So i checked google changed local to global forward declarations, changed them back checked my file names were correct etc… Then I just commented out line 36 and the few that followed which were only anchor points to center my image on the screen. Now I get this error; line 47, table expected. If this is a function call, you might have used ‘.’ instead of ‘:’ Please help!!
This is the original code which works fine in the simulator:
local composer = require( “composer” )
local scene = composer.newScene()
display.setDefault(“background”, 255,255,255)
– forward declaration
local background;
– Touch listener function for background object
local function onBackgroundTouch( self, event )
if event.phase == “ended” or event.phase == “cancelled” then
– go to page1.lua scene
composer.gotoScene( “tbContents”, “slideLeft”, 800 )
return true – indicates successful touch
end
end
function scene:create( event )
local sceneGroup = self.view
– Called when the scene’s view does not exist.
–
– INSERT code here to initialize the scene
– e.g. add display objects to ‘sceneGroup’, add touch listeners, etc.
– display a background image
background = display.newImageRect(“Pictures/TiVaLogo.png”, display.contentWidth, display.contentHeight )
background.anchorX = 0
background.anchorY = 0
background.x = 0
background.y = 0
– Add more text
local pageText = display.newText( “[Touch screen to continue]”, 0, 0, native.systemFont, 18 )
pageText.x = display.contentWidth * 0.5
pageText.y = display.contentHeight - (display.contentHeight*0.1)
– all display objects must be inserted into group
sceneGroup:insert( background )
sceneGroup:insert( pageText )
end
function scene:show( event )
local sceneGroup = self.view
local phase = event.phase
if phase == “will” then
– Called when the scene is still off screen and is about to move on screen
elseif phase == “did” then
– Called when the scene is now on screen
–
– INSERT code here to make the scene come alive
– e.g. start timers, begin animation, play audio, etc.
background.touch = onBackgroundTouch
background:addEventListener( “touch”, background )
end
end
function scene:hide( event )
local sceneGroup = self.view
local phase = event.phase
if event.phase == “will” then
– Called when the scene is on screen and is about to move off screen
–
– INSERT code here to pause the scene
– e.g. stop timers, stop animation, unload sounds, etc.)
– remove event listener from background
background:removeEventListener( “touch”, background )
elseif phase == “did” then
– Called when the scene is now off screen
end
end