Mesh:setVertexMap (Français)
Disponible depuis LÖVE 0.9.0 |
Ce-tte function n'est pas supporté-e par des versions plus anciennes. |
Définit la carte de vecteur du maillage. La carte de vecteur décrit l'ordre dans lequel les vecteurs sont utilisés lorsque le maillage est tracé. Les mode de tracé vecteurs, carte de vecteur et maillage, fonctionnent ensemble pour déterminer précisément ce qui est affiché à l'écran.
La carte de vecteur vous permet de réordonner ou réutiliser les vecteurs lors d'un tracé, sans changer le changer les paramètres courants ou dupliquer les vecteurs. Cette fonction est utile en particulier lorsqu'elle est combinée avec un mode de tracé de maillage différent.
Contents
Fonction
Synopsis
Mesh:setVertexMap( map )
Arguments
table (Français) map
- Table contenant une liste d'index de vecteurs à utiliser lors du tracé. Les valeurs doivent être dans l'étendue de [1, Mesh:getVertexCount()].
Retourne
Rien.
Fonction
Synopsis
Mesh:setVertexMap( vi1, vi2, vi3, ... )
Arguments
number (Français) vi1
- Index du premier vecteur à utiliser pendant le tracé. Dois être dans l'étendue [1, Mesh:getVertexCount()].
number (Français) vi2
- Index du second vecteur à utiliser pendant le tracé.
number (Français) vi3
- Index du troisième vecteur à utiliser pendant le tracé.
Retourne
Rien.
Fonction
Disponible depuis LÖVE 11.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
Synopsis
Mesh:setVertexMap( data, datatype )
Arguments
Data (Français) data
- Table d'index de vecteurs à utiliser pendant le tracé. Les valeurs doivent être dans l'étendue [0, Mesh:getVertexCount()-1]
IndexDataType (Français) datatype
- Type de donnée de la table des index de vecteurs ci-dessus.
Retourne
Rien.
Exemples
Utiliser une carte de vecteurs pour réparer un défaut visuel sans copier/coller les vecteurs.
function love.load()
image = love.graphics.newImage("pig.png")
local w,h = image:getDimensions()
-- Nous désirons faire un maillage avec un vecteur au milieu de l'image, et 4 dans les angles.
local vertices = {
{w/2, h/2, 0.5, 0.5, 1, 0, 0}, -- Vecteur central, tinté en rouge.
{0, 0, 0, 0, 1, 1, 1}, -- Haut gauche.
{w, 0, 1, 0, 1, 1, 1}, -- Haut droit.
{w, h, 1, 1, 1, 1, 1}, -- Bas droit.
{0, h, 0, 1, 1, 1, 1}, -- Bas gauche.
}
-- Mais il y a un problème ! Le maillage tracé aura un triangle maquant sur son côté gauche.
-- C'est parce-que dans le mode de tracé de maillage par défaut ("fan", éventail), Les vecteurs ne bouclent pas : Le vecteur en haut à gauche (#2) est déconnecté de celui en bas à gauche (#5).
mesh = love.graphics.newMesh(vertices)
mesh:setTexture(image)
-- Nous pourrions copier-coller le second vecteur à la fin de la table des vecteurs.
-- Mais à la place, on peut se contenter de changer la carte de vecteur !
mesh:setVertexMap(1, 2, 3, 4, 5, 2)
end
function love.draw()
love.graphics.draw(mesh, 0, 0)
end
Voir également
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