Spec-Zone.ru › LÖVE

love.graphics

Основная задача модуля love.graphics — отрисовка линий, фигур, текста, изображений и других рисуемых объектов на экране. Вспомогательные задачи включают загрузку внешних файлов (включая изображения и шрифты) в память, создание специализированных объектов (таких как системы частиц или полотна) и управление геометрией экрана.

Система координат LÖVE основана на верхнем левом углу экрана, который находится в точке (0, 0). Ось X — горизонтальная: большие значения находятся дальше вправо. Ось Y — вертикальная: большие значения находятся дальше вниз. Стоит отметить, что точка (0, 0) совпадает с верхним левым углом пикселя, что может привести к проблемам «смещения на один пиксель» при отрисовке линий шириной в 1 пиксель. Можно попытаться выровнять систему координат по центру пикселей, а не по их верхнему левому углу. Для этого передавайте x+0.5 и y+0.5 или используйте love.graphics.translate().

The LÖVE coordinate system

Во многих случаях вы рисуете изображения или фигуры, ориентируясь на их верхний левый угол (см. рисунок выше).


Примечание об углах в LÖVE: Углы выражаются в радианах, значения в диапазоне от 0 до 2Π (приблизительно 6.28). Возможно, вам привычнее работать в градусах. Из-за того, как настроена система координат, с началом в верхнем левом углу, углы в LÖVE могут показаться немного нестандартными: 0 — указывает направо (по оси X), ¼Π — на диагональ вниз и вправо, ½Π — прямо вниз (по оси Y), а возрастающие значения продолжаются по часовой стрелке.


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


Типы

Полотно Целевое устройство для рендеринга вне экрана. 0.8.0
Рисуемый объект Базовый класс для всех элементов, которые можно отобразить на экране.
Шрифт Определяет форму символов, которые можно отобразить на экране.
Буфер кадра Целевое устройство для рендеринга вне экрана. 0.7.0 0.8.0
Изображение Тип изображения, которое можно отобразить.
Полигональная сетка Двумерная полигональная сетка, используемая для отрисовки произвольных текстурированных фигур. 0.9.0
Система частиц Используется для создания эффектов, таких как огонь.
Эффект пикселей Эффект шейдера пикселей. 0.8.0 0.9.0
Квадрат Четырехугольник с информацией о координатах текстуры.
Шейдер Эффект шейдера. 0.9.0
Пачка спрайтов Хранит позиции изображений в буфере и рисует их одним вызовом.
Текст Отображаемый текст. 0.10.0
Текстура Базовый класс для отображаемых объектов, представляющих текстуру. 0.9.1
Видео Отображаемое видео. 0.10.0

Функции

Отрисовка

love.graphics.arc Рисует дугу. 0.8.0
love.graphics.circle Рисует окружность.
love.graphics.clear Очищает экран или активное полотно до указанного цвета.
love.graphics.discard Отбрасывает содержимое экрана или активного полотна. 0.10.0
love.graphics.draw Отображает объекты на экране.
love.graphics.drawInstanced Отображает множество экземпляров сетки с помощью одного вызова отрисовки, используя аппаратную инстанцирование геометрии. 11.0
love.graphics.drawLayer Рисует слой текстуры массива. 11.0
love.graphics.drawq Отобразить квадрат с указанным изображением на экране. 0.9.0
love.graphics.ellipse Рисует эллипс. 0.10.0
love.graphics.flushBatch Немедленно рендерит любые ожидающие автоматически сгруппированные отрисовки. 11.0
love.graphics.line Рисует линии между точками.
love.graphics.point Рисует точку. 0.10.0
love.graphics.points Отображает одну или несколько точек. 0.10.0
love.graphics.polygon Рисует многоугольник. 0.4.0
love.graphics.present Отображает результаты операций рисования на экране.
love.graphics.print Отображает текст на экране. Если шрифт не задан, он будет создан и установлен (один раз), если необходимо.
love.graphics.printf Отображает форматированный текст с обёрткой по словам и выравниванием.
love.graphics.quad Рисует четырёхугольник. 0.9.0
love.graphics.rectangle Рисует прямоугольник. 0.3.2
love.graphics.stencil Рисует геометрию в качестве трафарета. 0.10.0
love.graphics.triangle Рисует треугольник. 0.9.0


Создание объектов

love.graphics.captureScreenshot Создаёт снимок экрана, когда текущая кадр завершена. 11.0
love.graphics.newArrayImage Создаёт новый массив текстур Изображение. 11.0
love.graphics.newCanvas Создаёт новый Канвас. 0.8.0
love.graphics.newCubeImage Создаёт новое кубическое отображение Изображение. 11.0
love.graphics.newFont Создаёт новый Шрифт из файла TrueType или BMFont.
love.graphics.newFramebuffer Создаёт новый Буфер кадров. 0.7.0 0.8.0
love.graphics.newImage Создаёт новое Изображение.
love.graphics.newImageFont Создаёт новый Шрифт, загрузив специально отформатированное изображение. 0.2.0
love.graphics.newMesh Создаёт новую Сеть. 0.9.0
love.graphics.newParticleSystem Создаёт новую систему частиц.
love.graphics.newPixelEffect Создаёт новый Эффект пикселей. 0.8.0 0.9.0
love.graphics.newQuad Создаёт новый Квадрат.
love.graphics.newScreenshot Создаёт снимок экрана и возвращает данные изображения. 11.0
love.graphics.newShader Создаёт новый Тень. 0.9.0
love.graphics.newSpriteBatch Создаёт новую Партию спрайтов.
love.graphics.newStencil Создаёт новый трафарет. 0.8.0 0.9.0
love.graphics.newText Создаёт новый отображаемый объект Текст. 0.10.0
love.graphics.newVideo Создаёт новое Видео. 0.10.0
love.graphics.newVolumeImage Создаёт новое объёмное изображение. 11.0
love.graphics.setNewFont Создаёт и устанавливает новый Шрифт. 0.8.0
love.graphics.validateShader Проверяет код теней. 11.0


Состояние графики

love.graphics.getBackgroundColor Получает текущий цвет фона.
love.graphics.getBlendMode Получает режим смешивания. 0.2.0
love.graphics.getCanvas Возвращает текущую целевую область Canvas. 0.8.0
love.graphics.getColor Получает текущий цвет.
love.graphics.getColorMask Получает активные цветовые компоненты, используемые при отрисовке. 0.9.0
love.graphics.getColorMode Получает режим цвета (который управляет тем, как изображения влияют на текущий цвет). 0.2.0 0.9.0
love.graphics.getDefaultFilter Возвращает значения по умолчанию для масштабирования фильтров, используемых с Изображениями, Областями и Шрифтами. 0.9.0
love.graphics.getDefaultImageFilter Возвращает значения по умолчанию для масштабирования фильтров. 0.8.0 0.9.0
love.graphics.getDepthMode Получает текущий режим проверки глубины и включение записи в буфер глубины. 11.0
love.graphics.getFont Получает текущий объект шрифта. 0.9.0
love.graphics.getFrontFaceWinding Получает информацию о том, считаются ли треугольники с часовой или против часовой стрелки направленными вперёд. 11.0
love.graphics.getLineJoin Получает стиль соединения линий.
love.graphics.getLineStipple Получает текущую пунктирную линию. 0.8.0
love.graphics.getLineStyle Получает стиль линии. 0.3.2
love.graphics.getLineWidth Получает текущую ширину линии. 0.3.2
love.graphics.getMeshCullMode Получает информацию о том, обрезаются ли обращенные назад треугольники в сетке. 11.0
love.graphics.getPixelEffect Возвращает текущий эффект пикселей. 0.8.0 0.9.0
love.graphics.getPointSize Получает размер точки.
love.graphics.getPointStyle Получает текущий стиль точки. 0.10.0
love.graphics.getScissor Получает текущую область обрезки. 0.4.0
love.graphics.getShader Получает текущий шейдер. 0.9.0
love.graphics.getStackDepth Получает текущую глубину стека преобразований/состояний (количество вложенных элементов без соответствующих вызовов pop). 11.0
love.graphics.getStencilTest Получает текущую конфигурацию проверки текстуры. 0.10.0
love.graphics.intersectScissor Устанавливает область обрезки в прямоугольник, созданный пересечением заданного прямоугольника с существующей областью обрезки. 0.10.0
love.graphics.isActive Получает информацию о том, доступен ли модуль графики для использования. 0.10.0
love.graphics.isGammaCorrect Получает информацию о включении гамма-коррекции. 0.10.0
love.graphics.isSupported Проверяет совместимость графических функций. 0.8.0 0.10.0
love.graphics.isWireframe Получает информацию о том, используется ли режим каркаса при отрисовке. 0.9.1
love.graphics.reset Сбрасывает текущие графические настройки.
love.graphics.setBackgroundColor Устанавливает цвет фона.
love.graphics.setBlendMode Устанавливает режим смешивания. 0.2.0
love.graphics.setCanvas Направляет операции рисования на область. 0.8.0
love.graphics.setColor Устанавливает цвет для рисования.
love.graphics.setColorMask Устанавливает маску цвета. Включает или отключает определённые цветовые компоненты при отрисовке. 0.9.0
love.graphics.setColorMode Устанавливает режим цвета (который управляет тем, как изображения влияют на текущий цвет). 0.2.0 0.9.0
love.graphics.setDefaultFilter Устанавливает значения по умолчанию для масштабирования фильтров, используемых с изображениями, областями и шрифтами. 0.9.0
love.graphics.setDefaultImageFilter Устанавливает значения по умолчанию для масштабирования фильтров. 0.8.0 0.9.0
love.graphics.setDepthMode Конфигурирует проверку глубины и запись в буфер глубины. 11.0
love.graphics.setFont Устанавливает загруженный шрифт как текущий.
love.graphics.setFrontFaceWinding Устанавливает, считаются ли треугольники с часовой или против часовой стрелки направленными вперёд. 11.0
love.graphics.setInvertedStencil Определяет инвертированную текстуру. 0.8.0 0.10.0
love.graphics.setLine Устанавливает ширину и стиль линии. 0.9.0
love.graphics.setLineJoin Устанавливает стиль соединения линий.
love.graphics.setLineStipple Устанавливает узор пунктирной линии. 0.8.0
love.graphics.setLineStyle Устанавливает стиль линии. 0.3.2
love.graphics.setLineWidth Устанавливает ширину линии. 0.3.2
love.graphics.setMeshCullMode Устанавливает, обрезаются ли обращённые назад треугольники в сетке. 11.0
love.graphics.setPixelEffect Направляет операции рисования через пиксельный шейдер. 0.8.0 0.9.0
love.graphics.setPoint Устанавливает размер и стиль точки. 0.9.0
love.graphics.setPointSize Устанавливает размер точки.
love.graphics.setPointStyle Устанавливает стиль точки. 0.10.0
love.graphics.setRenderTarget Захватывает операции рисования в буфере кадра 0.7.0 0.8.0
love.graphics.setScissor Устанавливает или отключает обрезку. 0.4.0
love.graphics.setShader Маршрутизирует операции рисования через шейдер. 0.9.0
love.graphics.setStencil Определяет или освобождает маску. 0.8.0 0.10.0
love.graphics.setStencilTest Настраивает или отключает тестирование маски. 0.10.0
love.graphics.setWireframe Устанавливает, будут ли использоваться ломаные линии при рисовании. 0.9.1


Система координат

love.graphics.applyTransform Применяет заданный объект Transform к текущему преобразованию координат. 11.0
love.graphics.inverseTransformPoint Преобразует заданную 2D-позицию из пространства экрана в глобальные координаты. 11.0
love.graphics.origin Сбрасывает текущее преобразование координат. 0.9.0
love.graphics.pop Выталкивает текущее преобразование координат из стека преобразований.
love.graphics.push Копирует и помещает текущее преобразование координат в стек преобразований.
love.graphics.replaceTransform Заменяет текущее преобразование координат заданным объектом Transform. 11.0
love.graphics.rotate Поворачивает систему координат на две оси.
love.graphics.scale Масштабирует систему координат на две оси.
love.graphics.shear Сдвигает систему координат. 0.8.0
love.graphics.transformPoint Преобразует заданную 2D-позицию из глобальных координат в пространство экрана. 11.0
love.graphics.translate Перемещает систему координат на две оси.


Окно

love.graphics.checkMode Проверяет, поддерживается ли режим отображения. 0.9.0
love.graphics.getCaption Получает заголовок окна. 0.9.0
love.graphics.getDPIScale Получает коэффициент масштабирования DPI окна. 11.0
love.graphics.getDimensions Получает ширину и высоту окна. 0.9.0
love.graphics.getHeight Получает высоту окна в пикселях. 0.2.1
love.graphics.getMode Возвращает текущий режим отображения. 0.8.0 0.9.0
love.graphics.getModes Получает список поддерживаемых режимов полноэкранного режима. 0.9.0
love.graphics.getPixelDimensions Получает ширину и высоту окна в пикселях. 11.0
love.graphics.getPixelHeight Получает высоту окна в пикселях. 11.0
love.graphics.getPixelWidth Получает ширину окна в пикселях. 11.0
love.graphics.getWidth Получает ширину окна в пикселях. 0.2.1
love.graphics.hasFocus Проверяет, имеет ли окно игры фокус клавиатуры. 0.8.0 0.9.0
love.graphics.isCreated Проверяет, было ли создано окно. 0.9.0
love.graphics.setCaption Устанавливает заголовок окна. 0.9.0
love.graphics.setIcon Установить значок окна. 0.7.0 0.9.0
love.graphics.setMode Изменяет режим отображения. 0.9.0
love.graphics.toggleFullscreen Переключает полноэкранный режим. 0.9.0


Информация о системе

love.graphics.getCanvasFormats Получает доступные форматы холста и то, поддерживается ли каждый из них. 0.9.2
love.graphics.getCompressedImageFormats Получает доступные сжатые форматы изображений и то, поддерживается ли каждый из них. 0.9.2 11.0
love.graphics.getImageFormats Получает форматы пикселей, пригодные для изображений, и то, поддерживается ли каждый из них. 11.0
love.graphics.getMaxImageSize Получает максимальную поддерживаемую ширину или высоту изображений и холстов. 0.9.0 0.10.0
love.graphics.getMaxPointSize Получает максимальный поддерживаемый размер точки. 0.10.0
love.graphics.getRendererInfo Получает информацию о видеокарте и драйверах системы. 0.9.0
love.graphics.getStats Получает статистику производительности, связанную с рендерингом. 0.9.2
love.graphics.getSupported Получает дополнительные графические функции и то, поддерживаются ли они. 0.10.0
love.graphics.getSystemLimit Получает максимальное значение, зависящее от системы, для функции love.graphics. 0.9.1 0.10.0
love.graphics.getSystemLimits Получает максимальные значения, зависящие от системы, для функций love.graphics. 0.10.0
love.graphics.getTextureTypes Получает доступные типы текстур и то, поддерживается ли каждый из них. 11.0

Перечисления

AlignMode Выравнивание текста.
ArcType Разные типы дуг, которые можно рисовать. 0.10.1
BlendAlphaMode Различные способы, которыми альфа влияет на смешивание цветов. 0.10.0
BlendMode Разные способы выполнения смешивания цветов. 0.2.0
CanvasFormat Форматы текстур холста. 0.9.0
ColorMode Управляет тем, как нарисованные изображения влияют на текущий цвет. 0.2.0 0.9.0
CompareMode Различные типы сравнений теста трафарета и теста глубины. 0.10.0
CullMode Как геометрия сетки отсекается при отрисовке. 11.0
DrawMode Управляет тем, рисуются ли фигуры как контур или заполненные.
FilterMode Как изображение фильтруется при масштабировании.
GraphicsFeature Функции графики, которые можно проверить с помощью love.graphics.getSupported. 0.8.0
GraphicsLimit Типы зависящих от системы графических ограничений. 0.9.1
IndexDataType Тип данных карты вершин. 11.0
LineJoin Стиль соединения линий.
LineStyle Стили, в которых рисуются линии.
MeshDrawMode Как вершины сетки используются при отрисовке. 0.9.0
MipmapMode Управляет наличием мип-мап у холста и его поведением при их наличии. 11.0
PixelFormat Форматы пикселей для текстур, ImageData и CompressedImageData. 11.0
PointStyle Как должны отрисовываться точки. 0.10.0
SpriteBatchUsage Рекомендации по использованию SpriteBatches и сеток. 0.8.0
StackType Типы стека графического состояния, используемые с love.graphics.push. 0.9.2
StencilAction Как функция теста трафарета изменяет значения трафарета пикселей, с которыми она взаимодействует. 0.10.0
TextureFormat Управляет форматом текстуры холста. 0.9.0 0.10.0
TextureType Типы текстур (2D, кубовая и т. д.) 11.0
VertexAttributeStep Частота, с которой шейдер вершин извлекает данные атрибута вершины из сетки при её отрисовке. 11.0
VertexWinding Направление обхода вершин. 11.0
WrapMode Как изображение обворачивается внутри большого прямоугольника.

См. также

  • love

© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.graphics

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API