Storyboard Corona SDK: как получить доступ к соответствующей группе отображения из моего пользовательского обратного вызова
Я знаю только основы использования раскадровки. Я без проблем создал сцену, а затем добавил свой собственный обратный вызов (возвращается из асинхронного http-запроса). Поэтому в моем файле Lua сцены, у меня есть следующие
local function httpCallback(data)
// process data
// screen update
end
Для "обновления экрана" у меня нет доступа к соответствующей группе отображения, которую я имею в виду, например, "self.view" в слушателях сцены:
function scene:createScene( event )
local group = self.view
end
Как мне получить доступ к "self.view"? Я думал использовать переменную для отслеживания self.view, но с "асинхронным" обратным вызовом, я боюсь, что self.view стало бы нулевым, прежде чем я узнаю?
Какой правильный способ для этого?
Благодарю.
1 ответ
В верхней части вашего модуля раскадровки у вас должна быть строка:
local scene = storyboard.newScene()
или что-то подобное. Это твоя сцена. для обработчиков событий, таких как createScene() и тому подобное, они передаются "scene" как "self". Поэтому вы всегда можете (после первого вызова createScene()) обратиться к представлению сцены (display.newGroup для всех намерений и целей) используя код:
scene.view:insert(someDisplayObject)
что означает, что вы также можете сделать:
local group = scene.view
а затем используйте групповую ссылку, если хотите.