SpriteBatch:addLayer (Français)
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.
Contents
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
- SpriteBatch (Français)
- SpriteBatch:setLayer (Français)
- love.graphics.newArrayImage (Français)
- love.graphics.newCanvas (Français)
- love.graphics.newShader (Français)
- TextureType (Français)
Autres langues
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info