Tutorial:Hamster Ball (Español)
Este tutorial es un ejemplo muy simple de cómo agregar un recurso (en este caso una simple imagen) al motor y luego moverlo con las flechas del teclado. Aquí está todo el código fuente:
-- Tutorial 1: Bola de Hámster
-- Se añade una imagen y se mueve utilizando las flechas del teclado.
-- Compatible con löve 0.6.0 y posteriores.
function love.load()
hamster = love.graphics.newImage("hamster.png")
x = 50
y = 50
velocidad = 100
end
function love.update(dt)
if love.keyboard.isDown("right") then
x = x + (velocidad * dt)
elseif love.keyboard.isDown("left") then
x = x - (velocidad * dt)
end
if love.keyboard.isDown("down") then
y = y + (velocidad * dt)
elseif love.keyboard.isDown("up") then
y = y - (velocidad * dt)
end
end
function love.draw()
love.graphics.draw(hamster, x, y)
end
No es el programa más complicado del mundo, pero por alguna parte había que empezar. Ten en cuenta que todo lo que hay después de los caracteres -- es un comentario y es ignorado por el programa.
-- ¡Puedes escribir lo que quieras aquí!
Muy bien, lo siguiente que necesitas saber es que para que las cosas funcionen es necesario tener una función llamada load. Aquí es donde el juego se inicia y donde comienza todo. Aunque no son estrictamente necesarias, lo mejor es incluir también love.update () y love.draw () por ahora. El significado de estas funciones se describirá a continuación.
-- Este es un programa vacío.
function love.load()
end
function love.update(dt)
end
function love.draw()
end
Vayamos a ver ahora tozo a trozo que es lo que hace el código de este juego.
La función load es la siguiente:
function love.load()
hamster = love.graphics.newImage("hamster.png")
x = 50
y = 50
velocidad = 100
end
Lo que estamos haciendo aquí es agregar el archivo hamster.png a nuestro juego y asignarle a una variable llamada hamster. También estamos declarando tres variables: x, y y velocidad. Todas ellas jugaran un papel en el programa más adelante.
La función update es la siguiente:
function love.update(dt)
if love.keyboard.isDown("right") then
x = x + (velocidad * dt)
elseif love.keyboard.isDown("left") then
x = x - (velocidad * dt)
end
if love.keyboard.isDown("down") then
y = y + (velocidad * dt)
elseif love.keyboard.isDown("up") then
y = y - (velocidad * dt)
end
end
En primer lugar, verás que esta función acepta un parámetro llamado dt (una abreviatura de "delta-time"), que representa la cantidad de tiempo que ha pasado desde que esta función se llamó por última vez. Es en cuestión de segundos, pero debido a la velocidad de los procesadores de hoy en día suele ser menor que 1 (valores como 0,01 son comunes). Estamos utilizando este valor para mover la bola de hámster a la misma velocidad, no importa lo rápido que sea el ordenador del jugador.
En la función comprobamos si las teclas derecha, izquierda, arriba o abajo son pulsadas llamando a la función love.keyboard.isDown (tecla) con los parámetros adecuados (la lista completa de las teclas del teclado se puede encontrar aquí). Si, por ejemplo, pulsamos la tecla de la derecha el valor x se incrementaría en la cantidad apropiada (en este caso velocidad y dt se encargarán de que la pelota se mueva a una velocidad de 100 píxeles por segundo, trata de cambiar el valor de velocidad en la función load para ver qué pasa).
La función draw es la siguiente:
function love.draw()
love.graphics.draw(hamster, x, y)
end
No hay mucho que comentar, pero aquí es donde se produce la magia. La imagen que contiene la variable hámster se dibuja en las coordenadas x e y.
Ya está todo terminado. Trata de jugar un poco con las variables de love.load para ver qué efectos tienen.
Recuerde que los archivos .love se pueden abrir con cualquier software estándar de archivos, como WinZip o 7zip. ¡En realidad, son simplemente archivos .zip cambiados de nombre!
Otros Idiomas
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info