Попытка объединить глобальное имя_сцены (нулевое значение) - PullRequest
2 голосов
/ 26 марта 2020

У меня только 2 сценария в моем проекте, оба имеют менее 10 строк. Один из них называется main. lua, а другой - scene1. lua. Я пытаюсь go из main. lua в scene1. lua прямо при открытии приложения, но я получаю эту ошибку.

Это код для main. lua

local composer = require("composer")

local scene = composer.newScene("main")

composer.gotoScene("scene1")

И это код для scene1. lua

local composer = require("composer")

local scene = composer.newScene("scene1")

display.newText{
    text = "Hello"
}

Когда я открываю приложение, я вижу текст в верхнем левом углу, говорящий «Привет», но сразу после того, как я получил эту ошибку:

Attempt to concatenate global 'sceneName' (a nil value)
File: ?
stack traceback:
?: in function 'gotoScene'
main.lua:5: in main chunk

Я пошел в вики, скопировал и вставил точный пример и заменил некоторый код для работы с моим собственным, но ничего не работает

1 Ответ

1 голос
/ 26 марта 2020

вы можете попробовать это:

local composer = require("composer")

local scene = composer.newScene("scene1")

function scene:create(event)
local view = self.view
local text = display.newText{
text = "Hello"
}
view:insert(text)
end

function scene:destroy(event)
end

function scene:enter(event)
end

function scene:exit(event)
end

Runtime:addEventListener("create", scene)
Runtime:addEventListener("destroy", scene)
Runtime:addEventListener("enter", scene)
Runtime:addEventListener("exit", scene)

return scene

для объяснения

local composer = require("composer")

composer.gotoScene("scene1")

Однако scene1. lua должен быть допустимым файлом сцены. То есть есть ожидание, что вам потребуется Composer. Создайте новую сцену. Определите четыре функции событий и настройте их функции обработки. И, наконец, модуль должен «вернуть» сцену.

Мы предлагаем шаблон сцены по умолчанию: эта ссылка

Это если вы основываете все свои сцены вне и только добавить, у вас всегда будет хорошая базовая сцена. Это минимальный набор, с которым вы можете работать.

...