Las escenas son la base de cualquier videojuego y pueden usarse como menús o como niveles de juego.

En este articulo les mostrare como ejecutar una escena y cual es la estructura basica para una escena.

Main.lua

El archivo main.lua es el primer archivo que se ejecuta por lo tanto su funcion es llamar la escena.

El codigo seria el siguiente:

local composer = require "composer"

composer.gotoScene("menu")

Lo que sucede aqui es que llamamos al componente composer y con composer solicitamos ir a la escena menu, omitiendo la extencion .lua.

Como pueden ver la llamada composer.gotoScene(“noombreescena”) sirve para llamar cualquier escena.

Scene.lua

local composer = require "composer"
local scene = composer.newScene()
local widget = require "widget"

function scene:create(e)
local scene_group = self.view

end

function scene:show(e)
end

function scene:hide(e)
end

function scene:destroy(e)
end

scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )

return scene

En este código simple de una escena y a continuación les explico:

Lo primero es crear una “instancia” al composer, que nos sirve para llamar y crear escenas.

Después creamos una variable escena usando composer.newScene() y por ultimo una “instancia” a de widget.

Después creamos 4 funciones:

  • scene:create(e): Funcion que se ejecuta al crear una escena
  • scene:show(e): Funcion que se ejecuta al mostrar o recuperar la escena
  • scene:hide(e): Funcion que se ejecuta al ocultar o minimizar la escena
  • scene:destroy(e): Función que ejecuta al destruir o cerrar la escena

En el bloque de las funciones podemos agregar el código que queramos, osea el código de nuestro juego.

Después de la definición de las funciones vamos a agregar los listener.

Y por ultimo siempre tenemos que agregar un return scene.