Difference between revisions of "Tutorial:Callback Functions (Español)"
Line 113: | Line 113: | ||
{{#set:LOVE Version=0.6.0}} | {{#set:LOVE Version=0.6.0}} | ||
− | {{#set:Description=Callback | + | {{#set:Description=Funciones Callback}} |
== Otros Idiomas == | == Otros Idiomas == | ||
{{i18n|Tutorial:Callback Functions}} | {{i18n|Tutorial:Callback Functions}} |
Revision as of 19:51, 3 March 2011
Las funciones callback (retrollamada) en LÖVE son utilizadas por el motor para realizar diversas tareas y son opcionales. Sin embargo, una experiencia de juego completamente funcional, probablemente utilizará casi todos ellas, por lo que es recomendable saber lo que son.
Contents
love.load
function love.load()
image = love.graphics.newImage("tarta.jpg")
local f = love.graphics.newFont(12)
love.graphics.setFont(f)
love.graphics.setColor(0,0,0,255)
love.graphics.setBackgroundColor(255,255,255)
end
Esta función es llamada una sola vez, cuando se inicia el juego, y es por lo general donde se cargan los recursos, se inician las variables y se establece una configuración específica. Todo esto también se puede hacer en cualquier otro sitio, pero haciendolo aquí significa que se hace una sola vez, ahorrando una gran cantidad de recursos del sistema.
love.update
function love.update(dt)
if love.keyboard.isDown("up") then
num = num + 100 * dt -- esto incrementaría num 100 vez por segundo
end
end
Esta función es llamada constantemente y probablemente será donde se hagan la mayoría de los cálculos. "dt" significa "delta time (tiempo delta)" y es la cantidad de segundos desde la última vez que se llamó a esta función (que suele ser un valor pequeño como 0,025714).
love.draw
function love.draw()
love.graphics.draw(image, imgx, imgy)
love.graphics.print("Haz clic y arrastra la tarta o usa las teclas de dirección", 10, 10)
end
Mediante love.draw
se dibuja cualquier cosa en pantalla y si se llama a love.graphics.draw
fuera de esta función, no tendría ningún efecto. Esta función también es llamada constantemente, así que ten en cuenta que si cambias el tipo de letra/color/modo/etc. al final de la función, tendrá un efecto en las cosas del principio de la función. Por ejemplo:
function love.load()
love.graphics.setColor(0,0,0)
end
function love.draw()
love.graphics.print("Este texto no es negro, debido a la línea de abajo", 100, 100)
love.graphics.setColor(255,0,0)
love.graphics.print("Este texto es rojo", 100, 200)
end
love.mousepressed
function love.mousepressed(x, y, button)
if button == 'l' then
imgx = x -- mueve la imagen a donde se ha echo clic
imgy = y
end
end
Esta función es llamada cuando un botón del ratón es presionado. De esta forma, se recibe en el botón y las coordenadas del lugar en el que se presionó. El botón puede ser cualquiera de las constants. Esta función va muy bien junto con love.mousereleased
.
love.mousereleased
function love.mousereleased(x, y, button)
if button == 'l' then
fireSlingshot(x,y) -- esta impresionante función totalmente personalizada es definida en otra parte
end
end
Esta función es llamada cuando un botón del ratón es soltado. De esta forma, se recibe en el botón y las coordenadas del lugar en el que se soltó. Puedes tener esta función junto con love.mousepressed
o por separado, no están conectados de ninguna manera.
love.keypressed
function love.keypressed(key, unicode)
if key == 'b' then
text = "La tecla B ha sido presionada."
elseif key == 'a' then
a_down = true
end
end
Esta función es llamada cuando una tecla es presionada y se recibe la tecla que se presionó. La tecla puede ser cualquiera de las constants. Esta función va muy bien junto con love.keyreleased
.
love.keyreleased
function love.keyreleased(key, unicode)
if key == 'b' then
text = "La tecla B a sido soltada."
elseif key == 'a' then
a_down = false
end
end
Esta función es llamada cuando una tecla es soltada y se recibe la tecla que se soltó. Puedes tener esta función junto con love.keypressed o por separado, no están conectados de ninguna manera.
love.focus
function love.focus(f)
if not f then
print("LOST FOCUS")
else
print("GAINED FOCUS")
end
end
Esta función es llamada cuando el usuario hace clic fuera de la ventana de LÖVE. Por ejemplo, si está jugando en una ventana a un juego y haces hace clic en el navegador de Internet, el juego sera pausado automáticamente.
love.quit
function love.quit()
print("Gracias por jugar! Vuelve pronto!")
end
Esta función es llamada cuando el usuario hace clic en el botón de cerrar las ventana (a menudo es una X). Por ejemplo, si el usuario decide que ha terminado de jugar pulsara el botón de cerrar, pero entonces, antes de que se cierre la pantalla, el juego puede guardar la partida.
Esas son las funciones callback y su uso básico.
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