Programando con Love 2D – Código en varios archivos y tamaño ventana

Con el framework love2D para realizar videojuegos hasta ahora hemos usado solamente un archivo en los diferentes posts en los que estamos hablando sobre el tema (Puedes verlos todos desde aquí). El archivo lo llamamos siempre main.lua y es el que siempre ha de estar.

Digamos que cuando ejecutamos love busca main.lua pero eso no implica que no podamos ir estructurando el código y ordenando las cosas un poco en otros archivos.

Vamos a ver como podemos hacerlo pero vamos a verlo con un ejemplo en el que creamos una función para descargar grandes archivos y nos la llevamos a otro archivo para que no esté molestando en el main.lua y podamos crear un código más limpio.

El código entero puede bajarse desde aquí: test2.tar.gz

El código del main aquí:

require("luacurl")
require("getfilm")

-- To know howto install luacurl check this post: 
-- https://mierda.tv/2017/12/19/scripts-en-lua-con-luacurl-para-descarga-de-archivos/

function love.load()
	film = {}
	film.name = "Kung_fury-2015-Spanish-Fanta.mkv"
	film.url = "http://lavapies.linuxinthenight.com/peliculas/Kung_fury-2015-Spanish-Fanta.mkv"
	texto = "Para descargar " .. film.name .." pulse la tecla d"
end

function love.draw()
	love.graphics.printf(texto, 10, 50, 600, left)
end

function love.keypressed(key)
	if ( key == "d" ) then
		getFilm(film.url,film.name)
	end
end

Este programa solo nos muestra el nombre de una película y si pulsamos una tecla (la tecla d) entonces la baja a nuestro disco duro.

Lo interesante es que hemos creado un segundo archivo llamado getfilm.lua en el que hemos metido el código de la función que se encarga de descargar el archivo de la url que le especificamos como parámetro (como parámetro de la función).

require(“getfilm”) se encarga de incluir el archivo getfilm.lua y de ese modo nos evitamos todo el ruido visual que supone tener allí esa función. Podemos hacerlo con cualquier función grande o para agrupar unas cuantas en un archivo.

Archivo conf.lua

Podemos añadir una archivo llamado conf.lua con este contenido por ejemplo:

function love.conf(t)
    t.window.width = 530
    t.window.height = 400
end

De esta forma la ventana será de 530 de ancho por 400 de alto.

Más info sobre los archivos de configuración: https://love2d.org/wiki/Config_Files

Otra forma es añadir en love.load() la siguiente función:

love.window.setMode(650, 650) --set the window dimensions to 650 by 650

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *