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