love.graphics.drawLayer (Français)

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

Trace un calque d'une table de texture.

Fonction

Trace un calque d'une table de texture.

Synopsis

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

Arguments

Texture (Français) texture
Table de texture à tracer.
number (Français) layerindex
Index du calque à utiliser lors du tracé.
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

Rien.

Fonction

Trace un calque de table de texture en utilisant le Quad spécifié.

Synopsis

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

Arguments

Texture (Français) texture
Table de texture à tracer.
number (Français) layerindex
Index du calque à utiliser lors du tracé.
Quad (Français) quad
La sous-section du calque de la texture à utiliser lors du tracé.
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 cisaillement (axe des x).
number (Français) ky (0)
Facteur de cisaillement (axe des y).

Retourne

Rien.

Notes

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

Fonction

Trace un calque de table de texture en utilisant la transformation spécifiée.

Synopsis

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

Arguments

Texture (Français) texture
Table de texture à tracer.
number (Français) layerindex
Index du calque à utiliser lors du tracé.
Transform (Français) transform
Objet de transformation.

Retourne

Rien.

Fonction

Trace un calque d'une table de texture en utilisant les quadrilatère et transformation spécifiés.

Synopsis

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

Arguments

Texture (Français) texture
Table de texture à tracer.
number (Français) layerindex
Index du calque à utiliser lors du tracé.
Quad (Français) quad
Sous-section du calque de la texture à utiliser lors du tracé.
Transform (Français) transform
Un objet de transformation.

Retourne

Rien.

Notes

L'index de calque spécifié écrase tout index de calque défini 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 table d'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

Utilise un ombrage personnalisé avec love.graphics.drawLayer

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

void effect() {
    // Un Texel utilise une troisième composante de coordonnées de texture pour l'index de calque, Lorsque une table de texture 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)
end

function love.draw()
    love.graphics.setShader(shader)
    love.graphics.drawLayer(image, 1, 50, 50)
    love.graphics.drawLayer(image, 2, 250, 50)
end

Voir également


Autres langues