Difference between revisions of "SpriteBatch:addLayer (Français)"

(Notes)
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
 
{{param|number (Français)|ox (0)|Déplacement de l'origine (axe des x).}}
 
{{param|number (Français)|ox (0)|Déplacement de l'origine (axe des x).}}
 
{{param|number (Français)|oy (0)|Déplacement de l'origine (axe des y).}}
 
{{param|number (Français)|oy (0)|Déplacement de l'origine (axe des y).}}
{{param|number (Français)|kx (0)|Facteur de cisaillement (axe des x).}}
+
{{param|number (Français)|kx (0)|Facteur de transvection (axe des x).}}
{{param|number (Français)|ky (0)|Facteur de cisaillement (axe des y).}}
+
{{param|number (Français)|ky (0)|Facteur de transvection (axe des y).}}
 
=== Retourne ===
 
=== Retourne ===
 
{{param|number|spriteindex|Index du sprite ajouté, pour son utilisation ultérieure avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer]].}}
 
{{param|number|spriteindex|Index du sprite ajouté, pour son utilisation ultérieure avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer]].}}
Line 38: Line 38:
 
{{param|number (Français)|ox (0)|Déplacement de l'origine (axe des x).}}
 
{{param|number (Français)|ox (0)|Déplacement de l'origine (axe des x).}}
 
{{param|number (Français)|oy (0)|Déplacement de l'origine (axe des y).}}
 
{{param|number (Français)|oy (0)|Déplacement de l'origine (axe des y).}}
{{param|number (Français)|kx (0)|Facteur de cisaillement (axe des x).}}
+
{{param|number (Français)|kx (0)|Facteur de transvection (axe des x).}}
{{param|number (Français)|ky (0)|Facteur de cisaillement (axe des y).}}
+
{{param|number (Français)|ky (0)|Facteur de transvection (axe des y).}}
 
=== Retourne ===
 
=== Retourne ===
 
{{param|number|spriteindex|Index du sprite ajouté, à utiliser avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer]].}}
 
{{param|number|spriteindex|Index du sprite ajouté, à utiliser avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer]].}}
Line 70: Line 70:
 
{{param|number (Français)|spriteindex|Index du sprite ajouté, pour son utilisation avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer)]].}}
 
{{param|number (Français)|spriteindex|Index du sprite ajouté, pour son utilisation avec [[SpriteBatch:set (Français)|SpriteBatch:set]] ou [[SpriteBatch:setLayer (Français)|SpriteBatch:setLayer)]].}}
 
=== Notes ===
 
=== Notes ===
L'index de calque spécifié écrase tout index de calque définit dans le Quad via [[Quad:setLayer (Français)|Quad:setLayer]].
+
L'index de calque spécifié écrase tout index de calque définit dans le [[Quad (Français)|Quad]] via [[Quad:setLayer (Français)|Quad:setLayer]].
  
 
== Notes ==
 
== Notes ==

Latest revision as of 23:35, 9 March 2022

Disponible depuis LÖVE 11.0
Ce-tte function n'est pas supporté-e par des versions plus anciennes.

Ajoute un sprite au batch créé à l'aide d'un Tableau de texture.

Fonction

Ajoute un calque du tableau de texture du SpriteBatch.

Synopsis

spriteindex = SpriteBatch:addLayer( layerindex, x, y, r, sx, sy, ox, oy, kx, ky )

Arguments

number (Français) layerindex
Index du calque à utiliser pour ce sprite.
number (Français) x
Position à laquelle tracer l'objet sur l'axe des x.
number (Français) y
Position à laquelle tracer l'objet sur l'axe des y.
number (Français) r (0)
Orientation (radians).
number (Français) sx (1)
Facteur d'échelle (axe des x).
number (Français) sy (sx)
Facteur d'échelle (axe des y).
number (Français) ox (0)
Déplacement de l'origine (axe des x).
number (Français) oy (0)
Déplacement de l'origine (axe des y).
number (Français) kx (0)
Facteur de transvection (axe des x).
number (Français) ky (0)
Facteur de transvection (axe des y).

Retourne

number spriteindex
Index du sprite ajouté, pour son utilisation ultérieure avec SpriteBatch:set ou SpriteBatch:setLayer.

Fonction

Ajoute un calque du tableau de texture du SpriteBatch en utilisant le Quad spécifié.

Synopsis

spriteindex = SpriteBatch:addLayer( layerindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )

Arguments

number (Français) layerindex
Index du calque à utiliser pour ce sprite.
Quad (Français) quad
Sous-section du calque de texture à utiliser lors du tracé du sprite.
number (Français) x
Position à laquelle tracer l'objet sur l'axe des x.
number (Français) y
Position à laquelle tracer l'objet sur l'axe des y.
number (Français) r (0)
Orientation (radians).
number (Français) sx (1)
Facteur d'échelle (axe des x).
number (Français) sy (sx)
Facteur d'échelle (axe des y).
number (Français) ox (0)
Déplacement de l'origine (axe des x).
number (Français) oy (0)
Déplacement de l'origine (axe des y).
number (Français) kx (0)
Facteur de transvection (axe des x).
number (Français) ky (0)
Facteur de transvection (axe des y).

Retourne

number spriteindex
Index du sprite ajouté, à utiliser avec SpriteBatch:set ou SpriteBatch:setLayer.

Notes

L'index de calque spécifié écrase tout index de calque définit dans le Quad via Quad:setLayer.

Fonction

Ajoute un calque du tableau de texture du SpriteBatch en utilisant Transform (la transformation) spécifiée.

Synopsis

spriteindex = SpriteBatch:addLayer( layerindex, transform )

Arguments

number (Français) layerindex
Index du calque à utiliser pour ce sprite.
Transform (Français) transform
Objet transformation.

Retourne

number (Français) spriteindex
Index du sprite ajouté, pour son utilisation avec SpriteBatch:set ou SpriteBatch:setLayer.

Fonction

Ajoute un calque au tableau de texture du SpriteBatch en utilisant les Quad et Transform spécifiés.

Synopsis

spriteindex = SpriteBatch:addLayer( layerindex, quad, transform )

Arguments

number (Français) layerindex
Index du calque à utiliser pour ce sprite.
Quad (Français) quad
Sous-section du calque de texture à utiliser lors du tracé du sprite.
Transform (Français) transform
Objet transformation.

Retourne

number (Français) spriteindex
Index du sprite ajouté, pour son utilisation avec SpriteBatch:set ou SpriteBatch:setLayer).

Notes

L'index de calque spécifié écrase tout index de calque définit dans le Quad via Quad:setLayer.

Notes

Afin d'utiliser un tableau de texture ou autre types de texture non-2D comme texture principale dans un Shader (ombrage) personnalisé, la variante effect() vide doit être utilisée dans l'ombrage de pixel, et MainTex (texture principale) doit être déclarée comme une ArrayImage ou un sampler2DArray de cette façon : uniform ArrayImage MainTex;.

Exemples

Trace plusieurs calques d'une image en tableau dans un 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

Utilise un ombrage personnalisé

shader = love.graphics.newShader[[
uniform ArrayImage MainTex;

void effect() {
    // Un Texel utilise une troisième composante des coordonnées de texture comme index de calque, Lorsque une
    // table de texture (comme ArrayImage) lui est passé.
    // LÖVE configure les coordonnées de texture afin qu'elles contienne l'index de calque spécifié dans
    // love.graphics.drawLayer, lors du rendu d'une table de texture
    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

Voir également


Autres langues