Corona Урок 4 «Созданию сцен и переходу от одной сцены к другой».

Поделиться.

Всем доброго времени суток , сегодня наш урок посвящен созданию сцен и переходу от одной сцены к другой. Каждая сцена хранится в отдельном файле с расширением .lua

Чтобы создать проект который будет состоять более чем из одной сцены надо:

Подключить модуль управления сценами, он называется composer, для этого откройте в редакторе файл main.lua, сотрите все содержимое и введите следующий код:

local composer = require( "composer" )

мы создали локальную переменную, которая хранит в себе  модуль управления сценами.

добавьте еще две строчки кода:

display.setStatusBar( display.HiddenStatusBar )

math.randomseed( os.time() )

Мы скрыли отладочную информацию и запустили генератор случайных чисел.

Вызовем сцену меню, для этого введите следующий код:

composer.gotoScene( "menu")

Мы обратились к переменной composer и попросили запустить сцену menu.

Команда разработчиков Corona Labs создала шаблон сцены для удобной работы с composer, каждая следующая наша сцены будет основана на этом файле. Скачайте шаблон сцены, поместите его в папку с проектом и переименуйте его как menu.lua

ШАБЛОН СЦЕНЫ - СКАЧАТЬ

Откройте menu.lua в редакторе, найдите строчку function scene:show( event ) и чуть ниже введите следующий код:

local X = display.contentWidth
local Y = display.contentHeight
local rectangle = display.newRect(X/2, Y/2, X, Y)
rectangle:setFillColor(0,0.5,0)
local Button = display.newRect(X-X/3, Y/2, X/3, X/3)
Button:setFillColor(1,1,0)

local function GoSceneOne()
composer.gotoScene( "SceneOne" )
end
Button:addEventListener("tap", GoSceneOne)

Мы создали переменные которые хранят в себе ширину и высоту экрана, отрисовали фон зеленого цвета, отрисовали квадратную кнопку, создали функцию GoSceneOne которая запускает сцену SceneOne и добавили кнопке событие клика, которое запускает выполнение функции GoSceneOne.

Перейдите в папку с проектом, создайте копию файла menu.lua и переименуйте его как SceneOne.lua.

Откройте SceneOne.lua в редакторе и замените этот код:

local X = display.contentWidth
local Y = display.contentHeight
local rectangle = display.newRect(X/2, Y/2, X, Y)
rectangle:setFillColor(0,0.5,0)
local Button = display.newRect(X-X/3, Y/2, X/3, X/3)
Button:setFillColor(1,1,0)

local function GoSceneOne()
composer.gotoScene( "SceneOne" )
end
Button:addEventListener("tap", GoSceneOne)

на этот:

local X = display.contentWidth
local Y = display.contentHeight
local rectangle = display.newRect(X/2, Y/2, X, Y)
rectangle:setFillColor(0.5,0,0)
local Button = display.newRect(X/2, Y/3, X/3, X/3)
Button:setFillColor(1,1,0)

local function GoSceneMenu()
composer.gotoScene( "menu" )
end
Button:addEventListener("tap", GoSceneMenu)

На этом все, Удачи 🙂


Поделиться.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *