love.graphics.drawLayer (日本語)

LÖVE 11.0 から使用可能
この関数は以前のバージョンでは非対応です。

Draws a layer of an Array Texture.

関数

Draws a layer of an Array Texture.

概要

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)
尺度変更係数 (x-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断係数 (x-軸)。
number ky (0)
剪断係数 (y-軸)。

返値

ありません。

関数

Draws a layer of an Array Texture using the specified 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)
尺度変更係数 (x-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断係数 (x-軸)。
number ky (0)
剪断係数 (y-軸)。

返値

ありません。

注釈

The specified layer index overrides any layer index set on the Quad via Quad:setLayer.

関数

Draws a layer of an Array Texture using the specified Transform.

概要

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

引数

Texture texture
描画対象のアレイ・テクスチャ。
number layerindex
描画時に使用するレイヤのインデックス。
Transform transform
Transform オブジェクト。

返値

ありません。

関数

Draws a layer of an Array Texture using the specified Quad and Transform.

概要

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

引数

Texture texture
描画対象のアレイ・テクスチャ。
number layerindex
描画時に使用するレイヤのインデックス。
Quad quad
描画時に使用するテクスチャのレイヤにおけるサブセクション (小区分)。
Transform transform
Transform オブジェクト。

返値

ありません。

注釈

The specified layer index overrides any layer index set on the Quad via Quad:setLayer.

注釈

In order to use an Array Texture or other non-2D texture types as the main texture in a custom Shader, the void effect() variant must be used in the pixel shader, and MainTex must be declared as an ArrayImage or sampler2DArray like so: uniform ArrayImage MainTex;.

用例

アレイ・イメージを多層レイヤーへ描画します

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

関連



そのほかの言語