Tutorial:Callback Functions (Português)
As funções callback são usadas no LÖVE pelo engine para fazer várias tarefas e todas são opcionais. Contudo para uma experiência de jogo completa, você provavelmente usará quase todas, então é importante saber o que elas fazem.
love.load
function love.load() image = love.graphics.newImage("cake.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
Essa função é chamada apenas um vez, quando o jogo começa, e normalmente é onde você deve carregar os recursos, inicializar variáveis e definir configurações específicas. Todas essas coisas podem ser feitas em qualquer lugar também, mas ao faze-las aqui, significa que elas só serão executadas uma vez, poupando desempenho do sistema.
love.update
function love.update(dt) if love.keyboard.isDown("up") then num = num + 100 * dt -- isso irá acrescentar 100 por segundo ao num end end
Essa função é chamada continuamente e será provavelmente onde a maioria dos cálculos serão feitos.'dt' representa "delta time" e é o número de segundos desde a última vez que essa função foi chamada(normalmente é um valor pequeno, perto de 0.025714).
love.draw
function love.draw() love.graphics.draw(image, imgx, imgy) love.graphics.print("Clique e arraste o bolo ou use as setas", 10, 10) end
love.draw
é onde todo desenho é feito e se você chamar qualquer das love.graphics.draw
fora dessa função, elas não faram efeito. Essa função também é chamada continuamente, então tenha em mente que se você mudar a fonte/cor/modo/etc no final da função, isso só vai ter efeito no início da função. Por exemplo:
function love.load() love.graphics.setColor(0,0,0) end function love.draw() love.graphics.print("Este texto não é preto por causa dessa linha a baixo", 100, 100) love.graphics.setColor(255,0,0) love.graphics.print("Este texto é vermelho", 100, 200) end
love.mousepressed
Available since LÖVE 0.10.0 |
This variant is not supported in earlier versions. |
function love.mousepressed(x, y, button, istouch) if button == 1 then imgx = x -- move a imagem para onde o mouse foi clicado imgy = y end end
Essa função é chamada sempre que um botão do mouse é apertado e ela recebe o botão e as coordenadas de onde foi pressionado. O botão pode ser qualquer dos constants. Essa função vai muito bem junto da função love.mousereleased
.
love.mousereleased
Available since LÖVE 0.10.0 |
This variant is not supported in earlier versions. |
function love.mousereleased(x, y, button, istouch) if button == 1 then fireSlingshot(x,y) -- Essa é uma função incrível definida em outro lugar qualquer end end
Essa função é chamada sempre que um botão do mouse é solto e ela recebe o botão e as coordenadas de onde foi solto. Você pode ter essa função junta com love.mousepressed
ou separada, elas não são dependentes de nenhuma forma.
love.keypressed
function love.keypressed(key, unicode) if key == 'b' then text = "A tecla B foi pressionada." elseif key == 'a' then a_down = true end end
Essa função é chamada sempre que uma tecla do teclado é pressionada, recebendo a tecla pressionada. A tecla pode ser qualquer constants. Essa função pode ser usada junta à love.keyreleased
.
love.keyreleased
function love.keyreleased(key, unicode) if key == 'b' then text = "A tecla B foi solta." elseif key == 'a' then a_down = false end end
Essa função é chamada sempre que uma tecla do teclado é solta. Essa função pode ser usada junta de love.keypressed
ou separada, elas não são dependentes de nenhuma forma.
love.focus
function love.focus(f) if not f then print("LOST FOCUS") else print("GAINED FOCUS") end end
Essa função é chamada sempre que o usuário clica fora ou dentro da janela do jogo. Por exemplo, se ele está jogando o jogo no modo janela e clica em seu navegador de internet, o jogo é notificado e automaticamente é pausado.
love.quit
function love.quit() print("Obrigado por jogar! Volte logo!") end
Essa função é chamada sempre que o usuário clica no botão de fechar da janela(normalmente um 'X'). Por exemplo, se ele decide parar de jogar, ele pode apertar no botão de fechar da janela, então, antes do jogo fechar, o seu progresso será salvo.
Essas são as funções callback e seu uso básico.
Outras línguas
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