Difference between revisions of "SpriteBatch:addLayer (日本語)"
m |
|||
Line 20: | Line 20: | ||
{{param|number|ky (0)|剪断係数 (y-軸)。}} | {{param|number|ky (0)|剪断係数 (y-軸)。}} | ||
=== 返値 === | === 返値 === | ||
− | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは[[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]]で用いる追加されたスプライトのインデックス。}} | + | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは [[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]] で用いる追加されたスプライトのインデックス。}} |
== 関数 == | == 関数 == | ||
Line 41: | Line 41: | ||
{{param|number|ky (0)|剪断係数 (y-軸)。}} | {{param|number|ky (0)|剪断係数 (y-軸)。}} | ||
=== 返値 === | === 返値 === | ||
− | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは[[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]]で用いる追加されたスプライトのインデックス。}} | + | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは [[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]] で用いる追加されたスプライトのインデックス。}} |
=== 注釈 === | === 注釈 === | ||
指定されたレイヤのインデックスは [[Quad:setLayer (日本語)|Quad:setLayer]] で設定した [[Quad (日本語)|Quad]] レイヤのインデックスの設定を上書きします。 | 指定されたレイヤのインデックスは [[Quad:setLayer (日本語)|Quad:setLayer]] で設定した [[Quad (日本語)|Quad]] レイヤのインデックスの設定を上書きします。 | ||
Line 55: | Line 55: | ||
{{param|Transform|transform|Transform オブジェクト。}} | {{param|Transform|transform|Transform オブジェクト。}} | ||
=== 返値 === | === 返値 === | ||
− | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは[[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]]で用いる追加されたスプライトのインデックス。}} | + | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは [[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]] で用いる追加されたスプライトのインデックス。}} |
== 関数 == | == 関数 == | ||
Line 68: | Line 68: | ||
{{param|Transform|transform|Transform オブジェクト。}} | {{param|Transform|transform|Transform オブジェクト。}} | ||
=== 返値 === | === 返値 === | ||
− | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは[[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]]で用いる追加されたスプライトのインデックス。}} | + | {{param|number|spriteindex|[[SpriteBatch:set (日本語)|SpriteBatch:set]] あるいは [[SpriteBatch:setLayer (日本語)|SpriteBatch:setLayer]] で用いる追加されたスプライトのインデックス。}} |
=== 注釈 === | === 注釈 === | ||
指定されたレイヤのインデックスは [[Quad:setLayer (日本語)|Quad:setLayer]] で設定した [[Quad (日本語)|Quad]] レイヤのインデックスの設定を上書きします。 | 指定されたレイヤのインデックスは [[Quad:setLayer (日本語)|Quad:setLayer]] で設定した [[Quad (日本語)|Quad]] レイヤのインデックスの設定を上書きします。 |
Revision as of 14:54, 24 July 2019
LÖVE 11.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
アレイ・テクスチャで作成したバッチをスプライトへ追加します。
Contents
関数
SpriteBatch のアレイ・テクスチャをレイヤに追加します。
概要
spriteindex = SpriteBatch:addLayer( layerindex, x, y, r, sx, sy, ox, oy, kx, ky )
引数
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-軸)。
返値
number spriteindex
- SpriteBatch:set あるいは SpriteBatch:setLayer で用いる追加されたスプライトのインデックス。
関数
指定された Quad を用いて SpriteBatch のアレイ・テクスチャをレイヤに追加します。
概要
spriteindex = SpriteBatch:addLayer( layerindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )
引数
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-軸)。
返値
number spriteindex
- SpriteBatch:set あるいは SpriteBatch:setLayer で用いる追加されたスプライトのインデックス。
注釈
指定されたレイヤのインデックスは Quad:setLayer で設定した Quad レイヤのインデックスの設定を上書きします。
関数
指定された Transform を用いて SpriteBatch のアレイ・テクスチャをレイヤに追加します。
概要
spriteindex = SpriteBatch:addLayer( layerindex, transform )
引数
返値
number spriteindex
- SpriteBatch:set あるいは SpriteBatch:setLayer で用いる追加されたスプライトのインデックス。
関数
指定された Quad と Transform を用いて SpriteBatch のアレイ・テクスチャをレイヤに追加します。
概要
spriteindex = SpriteBatch:addLayer( layerindex, quad, transform )
引数
number layerindex
- 現在のスプライトで使用するレイヤのインデックス。
Quad quad
- スプライトの描画時に使用するテクスチャのレイヤにおけるサブセクション (小区分)。
Transform transform
- Transform オブジェクト。
返値
number spriteindex
- SpriteBatch:set あるいは SpriteBatch:setLayer で用いる追加されたスプライトのインデックス。
注釈
指定されたレイヤのインデックスは Quad:setLayer で設定した Quad レイヤのインデックスの設定を上書きします。
注釈
カスタム・シェーダのメインテクスチャとしてアレイ・テクスチャ、またはそれ以外の非二次元テクスチャ形式を用いるには、ピクセル・シェーダーで void effect() の異形を使用します。また、このように ArrayImage または sampler2DArray で MainTex を宣言してください: uniform ArrayImage MainTex;
用例
SpriteBatch におけるアレイ・イメージを多層レイヤーへ描画します
function love.load()
local sprites = {"sprite1.png", "sprite2.png"}
image = love.graphics.newArrayImage(sprites)
batch = love.graphics.newSpriteBatch(image)
batch:addLayer(1, 50, 50)
batch:addLayer(2, 250, 50)
end
function love.draw()
love.graphics.draw(batch)
end
カスタム・シェーダを使用します
shader = love.graphics.newShader[[
uniform ArrayImage MainTex;
void effect() {
// アレイ・テクスチャが渡されたとき、テクセルはレイヤ・インデックスに対して第三構成要素のテクスチャ座標を使用します。
// LOVE がアレイ・テクスチャをレンダリングするとき love.graphics.drawLayer で指定された
// レイヤ・インデックスがあるテクスチャ座標を設定します。
love_PixelColor = Texel(MainTex, VaryingTexCoord.xyz) * VaryingColor;
}
]]
function love.load()
local sprites = {"sprite1.png", "sprite2.png"}
image = love.graphics.newArrayImage(sprites)
batch = love.graphics.newSpriteBatch(image)
batch:addLayer(1, 50, 50)
batch:addLayer(2, 250, 50)
end
function love.draw()
love.graphics.setShader(shader)
love.graphics.draw(batch)
end
関連
- SpriteBatch (日本語)
- SpriteBatch:setLayer (日本語)
- love.graphics.newArrayImage (日本語)
- love.graphics.newCanvas (日本語)
- love.graphics.newShader (日本語)
- TextureType (日本語)