Heres a much better, more simplified example that I’ve got running and which illustrates the problem:
main.lua
widget = require "widget" local system = require "system" local storyboard = require "storyboard" local globaldata = require( "globaldata" ) local mime = require("mime") local json = require("json") local rpfunc = require( "myfunctions" ) changeScene("welcome","")
globaldata.lua
--my global space local M = {} transitionoptions = { effect = "slideLeft", time = 700 } transitionlist = {} transitionlist['welcome\_to\_login'] = {["effect"]="fade",["time"]=500} storeddata = {} storeddatasting = {} storeddata.apitoken = "" storeddata.leagues = {} netavailable = false searchterm = "" searchresults = "" selectedleague = "" defaultrowheight = 50 defaultpad = 10 registerdetalis = {} defaultalpha = 230 return M
login.lua
local storyboard = require( "storyboard" ) local scene = storyboard.newScene() local textlogin ------------------------------------------------------------------------------------ function scene:createScene( event ) local group = self.view local loginbutton = widget.newButton { left = 100, top = 200, width = 150, height = 30, label = "to welcome", onEvent = function() changeScene("welcome",currentscene) end, } group:insert(loginbutton) end -------------------------------------------------------------------------------------- function scene:enterScene( event ) local group = self.view textlogin = native.newTextField(100,100,100,50) end -------------------------------------------------------------------------------------- function scene:exitScene( event ) local group = self.view textlogin:removeSelf() end -------------------------------------------------------------------------------------- function scene:destroyScene( event ) local group = self.view end scene:addEventListener( "createScene", scene ) scene:addEventListener( "enterScene", scene ) scene:addEventListener( "exitScene", scene ) scene:addEventListener( "destroyScene", scene ) ----------------------------------------------------------------------------------------- return scene
welcome.lua
local storyboard = require( "storyboard" ) local scene = storyboard.newScene() local textwelcome ------------------------------------------------------------------------------------ function scene:createScene( event ) local group = self.view local startbutton = widget.newButton { left = 100, top = 200, width = 150, height = 30, label = "to login", onEvent = function() changeScene("login",currentscene) end, } group:insert(startbutton) end -------------------------------------------------------------------------------------- function scene:enterScene( event ) local group = self.view textwelcome= native.newTextField(100,100,100,50) end -------------------------------------------------------------------------------------- function scene:exitScene( event ) local group = self.view textwelcome:removeSelf() end -------------------------------------------------------------------------------------- function scene:destroyScene( event ) local group = self.view -- INSERT code here (e.g. remove listeners, remove widgets, save state variables, etc.) end scene:addEventListener( "createScene", scene ) scene:addEventListener( "enterScene", scene ) scene:addEventListener( "exitScene", scene ) scene:addEventListener( "destroyScene", scene ) ----------------------------------------------------------------------------------------- return scene
myfunctions.lua
local storyboard = require( "storyboard" ) local mime = require("mime") local json = require("json") local widget = require("widget") widget.setTheme( "widget\_theme\_ios") function changeScene(sceneto,scenefrom) --print("changing scene: " .. "from: " .. scenefrom .. " to: " .. sceneto) local testkey = scenefrom .. "\_to\_" .. sceneto local thistransition = {} if (transitionlist[testkey] == nil) then --print("no transition key found: " .. testkey) thistransition = transitionoptions else -- print("found a transition key: " .. testkey) thistransition["effect"] = transitionlist[testkey].effect thistransition["time"] = transitionlist[testkey].time end currentscene = sceneto storyboard.gotoScene(sceneto,thistransition); end