Spec-Zone.ru › LÖVE

love.graphics.drawLayer

Доступно начиная с LÖVE 11.0
Эта функция не поддерживается в более ранних версиях.

Отрисовывает слой текстуры массива.

Функция

Отрисовывает слой текстуры массива.

Синтаксис

love.graphics.drawLayer( texture, layerindex, x, y, r, sx, sy, ox, oy, kx, ky )

Аргументы

Texture texture
Текстура массива для отрисовки.
number layerindex
Индекс слоя для отрисовки.
number x (0)
Положение для отрисовки текстуры (ось X).
number y (0)
Положение для отрисовки текстуры (ось Y).
number r (0)
Ориентация (радиан).
number sx (1)
Коэффициент масштабирования (ось X).
number sy (sx)
Коэффициент масштабирования (ось Y).
number ox (0)
Смещение начала координат (ось X).
number oy (0)
Смещение начала координат (ось Y).
number kx (0)
Коэффициент сдвига (ось X).
number ky (0)
Коэффициент сдвига (ось Y).

Возвращаемое значение

Ничего.

Функция

Отрисовывает слой текстуры массива, используя указанный Quad.

Синтаксис

love.graphics.drawLayer( texture, layerindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )

Аргументы

Texture texture
Текстура массива для отрисовки.
number layerindex
Индекс слоя для отрисовки.
Quad quad
Подсекция слоя текстуры для отрисовки.
number x (0)
Положение для отрисовки текстуры (ось X).
number y (0)
Положение для отрисовки текстуры (ось Y).
number r (0)
Ориентация (радиан).
number sx (1)
Коэффициент масштабирования (ось X).
number sy (sx)
Коэффициент масштабирования (ось Y).
number ox (0)
Смещение начала координат (ось X).
number oy (0)
Смещение начала координат (ось Y).
number kx (0)
Коэффициент сдвига (ось X).
number ky (0)
Коэффициент сдвига (ось Y).

Возвращаемое значение

Ничего.

Примечания

Указанный индекс слоя переопределяет любой индекс слоя, установленный на Quad через Quad:setLayer.

Функция

Отрисовывает слой текстуры массива, используя указанный Transform.

Синтаксис

love.graphics.drawLayer( texture, layerindex, transform )

Аргументы

Texture texture
Текстура массива для отрисовки.
number layerindex
Индекс слоя для отрисовки.
Transform transform
Объект преобразования.

Возвращаемое значение

Ничего.

Функция

Отрисовывает слой текстуры массива, используя указанный Quad и Transform.

Синтаксис

love.graphics.drawLayer( texture, layerindex, quad, transform )

Аргументы

Texture texture
Текстура массива для отрисовки.
number layerindex
Индекс слоя для отрисовки.
Quad quad
Подсекция слоя текстуры для отрисовки.
Transform transform
Объект преобразования.

Возвращаемое значение

Ничего.

Примечания

Указанный индекс слоя переопределяет любой индекс слоя, установленный на Quad через Quad:setLayer.

Примечания

Для использования текстуры массива или других типов текстур, отличных от 2D, в качестве основной текстуры в пользовательском Shader, необходимо использовать вариант void effect() в пиксельном шейдере, и MainTex должен быть объявлен как ArrayImage или sampler2DArray следующим образом: uniform ArrayImage MainTex;.

Примеры

Отрисовка нескольких слоев Array Image

function love.load()
    local sprites = {"sprite1.png", "sprite2.png"}
    image = love.graphics.newArrayImage(sprites)
end
 
function love.draw()
    love.graphics.drawLayer(image, 1, 50, 50)
    love.graphics.drawLayer(image, 2, 250, 50)
end

Использование пользовательского шейдера с love.graphics.drawLayer

shader = love.graphics.newShader[[
uniform ArrayImage MainTex;
 
void effect() {
    // Texel uses a third component of the texture coordinate for the layer index, when an Array Texture is passed in.
    // love sets up the texture coordinates to contain the layer index specified in love.graphics.drawLayer, when
    // rendering the Array Texture.
    love_PixelColor = Texel(MainTex, VaryingTexCoord.xyz) * VaryingColor;
}
]]
 
function love.load()
    local sprites = {"sprite1.png", "sprite2.png"}
    image = love.graphics.newArrayImage(sprites)
end
 
function love.draw()
    love.graphics.setShader(shader)
    love.graphics.drawLayer(image, 1, 50, 50)
    love.graphics.drawLayer(image, 2, 250, 50)
end

См. также

  • love.graphics
  • love.graphics.newArrayImage
  • love.graphics.newCanvas
  • love.graphics.newShader
  • TextureType


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

Spec-Zone.ru

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