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

а затем используйте групповую ссылку, если хотите.

Другие вопросы по тегам