love.graphics.rotate (Português)

Rotaciona o sistema de coordenadas em duas dimensões.

A chamada desta função afeta todas as operações futuras de desenho pela rotação do sistema de coordenadas sobre a origem pela quantidade de radianos. Esta mudança vai até sair da função love.draw().

Função

Sinopse

love.graphics.rotate( angulo )

Argumentos

number (Português) angulo
Quanto o sistema de coordenadas será rotacionado (em radianos).

Retornos

Nada.

Exemplos

Rotacionado uma cena estática

Este exemplo mostra como rotacionar uma cena estática sobre um dado ponto. Como a rotação é sempre sobre a origem, transladar o centro da tela para a origem e então fazer a operação de rotação produz o efetivo ponto de rotação ser o centro da tela. Isso é demonstrado através do desenho de um retângulo que mostra a rotação e um ponto que é o centro que não se move enquanto a cena é rotacionada. Note que os comandos de desenho possuem coordenadas que dependem do tamanho da tela.

local angulo = 0

function love.draw()
	local largura = love.graphics.getWidth()
	local altura = love.graphics.getHeight()
	-- rotaciona sobre o centro de tela pelo ângulo em radioanos
	love.graphics.translate(largura/2, altura/2)
	love.graphics.rotate(angulo)
	love.graphics.translate(-largura/2, -altura/2)
	-- desenha um retangulo 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(10)
	angulo = angulo + dt * math.pi/2
	angulo = angulo % (2*math.pi)
end

Veja Também

Outros Idiomas