love.graphics.drawLayer (日本語)
LÖVE 11.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
Draws a layer of an Array Texture.
Contents
関数
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
関連
- love.graphics (日本語)
- love.graphics.newArrayImage (日本語)
- love.graphics.newCanvas (日本語)
- love.graphics.newShader (日本語)
- TextureType (日本語)