love.graphics.rotate (Русский)

Вращает координатную систему в двух измерениях.

Эта функция влияет на все будущие операции рисования, вращая систему координат вокруг начала координат на заданное количество в радианах. Это изменение длится до завершения работы love.draw().

Функция

Вид

love.graphics.rotate( angle )

Аргументы

number angle
Значение, на которое нужно повернуть координатную систему (в радианах).

Возвращает

Ничего.

Пример

Вращение статической сцены

Этот пример показывает, как повернуть статическую сцену вокруг точки. Так как вращение всегда происходит вокруг начала координат, переместим центр экрана в начало координат, повернем систему координат, а затем переместим ее обратно, что даст эффект вращения сцены вокруг центра экрана. Это демонстрирует прямоугольник, который вращается вокруг точки, находящейся в самом центре. Отметим, что команды рисования имеют координаты, которые зависят от размера экрана.

local angle = 0

function love.draw()
	local width = love.graphics.getWidth()
	local height = love.graphics.getHeight()
	-- вращение вокруг центра экрана на angle радиан
	love.graphics.translate(width/2, height/2)
	love.graphics.rotate(angle)
	love.graphics.translate(-width/2, -height/2)
	-- рисуем прямоугольник недалеко от центра
	love.graphics.setColor(0xff, 0xff, 0xff)
	love.graphics.rectangle('fill', width/2-100, height/2-100, 300, 400)
	-- рисуем точку в центре
	love.graphics.setPointSize(5)
	love.graphics.setColor(0, 0, 0xff)
	love.graphics.point(width/2, height/2)
end

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

Смотрите также

Другие языки