love.graphics.rotate (Português)

love.graphics.rotate


Rotaciona o sistema de coordenadas em duas dimensões.

A chamada desta função afeta todas as operações futuras de desenho, rotacionando o sistema de coordenadas em torno da origem, de acordo com a medida em radianos. Essa mudança dura até a saída da função love.draw().

Função

Sinopse

love.graphics.rotate( angulo )

Argumentos

número angulo
O tanto que se deve rotacionar o sistema de coordenadas, em radianos.

Retorna

Nada.

Exemplos

Rotacionar uma cena estática

Este exemplo mostra como rotacionar uma cena estática ao redor de um determinado ponto. Como a rotação é sempre em torno da origem, transladar o centro da tela para a origem, fazer a operação de rotação e transladar a tela de volta à posição original faz com que o ponto de rotação efetivo seja o centro da tela. Isso é demonstrado através do desenho de um retângulo em rotação, e um ponto, que é o centro e não se move enquanto a cena é rotacionada. Note que os comandos de desenho possuem coordenadas que dependem apenas do tamanho da tela.

local angulo = 0

function love.draw()
    local largura = love.graphics.getWidth()
    local altura = love.graphics.getHeight()
    -- rotaciona ao redor do centro de tela na medida do ângulo em radianos
    love.graphics.translate(largura/2, altura/2)
    love.graphics.rotate(angulo)
    love.graphics.translate(-largura/2, -altura/2)
    -- desenha um retângulo branco ligeiramente fora do centro
    love.graphics.setColor(0xff, 0xff, 0xff)
    love.graphics.rectangle('fill', largura/2-100, altura/2-100, 300, 400)
    -- desenha um ponto azul de 5 pixels de tamanho no centro
    love.graphics.setPointSize(5)
    love.graphics.setColor(0, 0, 0xff)
    love.graphics.point(largura/2, altura/2)
end

function love.update(dt)
    love.timer.sleep(.01)
    angulo = angulo + dt * math.pi/2
    angulo = angulo % (2*math.pi)
end

Veja Também


Outras Línguas

Personal tools