Difference between revisions of "SpriteBatch:set"
(Added SpriteBatch:set.) |
m |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{newin|[[0.8.0]]|type=method}} | + | {{newin|[[0.8.0]]|080|type=method}} |
− | Changes a sprite in the batch. This requires the | + | Changes a sprite in the batch. This requires the sprite index returned by [[SpriteBatch:add]] or [[SpriteBatch:addLayer]]. |
== Function == | == Function == | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | SpriteBatch:set( | + | SpriteBatch:set( spriteindex, x, y, r, sx, sy, ox, oy, kx, ky ) |
</source> | </source> | ||
=== Arguments === | === Arguments === | ||
− | {{param|number| | + | {{param|number|spriteindex|The index of the sprite that will be changed.}} |
{{param|number|x|The position to draw the object (x-axis).}} | {{param|number|x|The position to draw the object (x-axis).}} | ||
{{param|number|y|The position to draw the object (y-axis).}} | {{param|number|y|The position to draw the object (y-axis).}} | ||
Line 16: | Line 16: | ||
{{param|number|ox (0)|Origin offset (x-axis).}} | {{param|number|ox (0)|Origin offset (x-axis).}} | ||
{{param|number|oy (0)|Origin offset (y-axis).}} | {{param|number|oy (0)|Origin offset (y-axis).}} | ||
− | {{param|number|kx ( | + | {{param|number|kx (0)|Shear factor (x-axis).}} |
{{param|number|ky (0)|Shear factor (y-axis).}} | {{param|number|ky (0)|Shear factor (y-axis).}} | ||
=== Returns === | === Returns === | ||
Nothing. | Nothing. | ||
+ | |||
+ | == Function == | ||
+ | {{newin|[[0.9.0]]|090|type=variant|text=This variant has replaced [[SpriteBatch:setq]]}} | ||
+ | Changes a sprite with a [[Quad]] in the batch. This requires the index returned by [[SpriteBatch:add]] or [[SpriteBatch:addLayer]]. | ||
+ | === Synopsis === | ||
+ | <source lang="lua"> | ||
+ | SpriteBatch:set( spriteindex, quad, x, y, r, sx, sy, ox, oy, kx, ky ) | ||
+ | </source> | ||
+ | === Arguments === | ||
+ | {{param|number|spriteindex|The index of the sprite that will be changed.}} | ||
+ | {{param|Quad|quad|The Quad used on the image of the batch.}} | ||
+ | {{param|number|x|The position to draw the object (x-axis).}} | ||
+ | {{param|number|y|The position to draw the object (y-axis).}} | ||
+ | {{param|number|r (0)|Orientation (radians).}} | ||
+ | {{param|number|sx (1)|Scale factor (x-axis).}} | ||
+ | {{param|number|sy (sx)|Scale factor (y-axis).}} | ||
+ | {{param|number|ox (0)|Origin offset (x-axis).}} | ||
+ | {{param|number|oy (0)|Origin offset (y-axis).}} | ||
+ | {{param|number|kx (0)|Shear factor (x-axis).}} | ||
+ | {{param|number|ky (0)|Shear factor (y-axis).}} | ||
+ | === Returns === | ||
+ | Nothing. | ||
+ | |||
+ | == Notes == | ||
+ | SpriteBatches do not support removing individual sprites. One can do a pseudo removal (instead of clearing and re-adding everything) by: | ||
+ | |||
+ | <source lang="lua"> | ||
+ | SpriteBatch:set(id, 0, 0, 0, 0, 0) | ||
+ | </source> | ||
+ | |||
+ | This makes all the sprite's vertices equal (because the x and y scales are 0), which prevents the GPU from fully processing the sprite when drawing the SpriteBatch. | ||
== See Also == | == See Also == | ||
* [[parent::SpriteBatch]] | * [[parent::SpriteBatch]] | ||
* [[SpriteBatch:add]] | * [[SpriteBatch:add]] | ||
− | * [[SpriteBatch: | + | * [[SpriteBatch:addLayer]] |
− | * [[SpriteBatch: | + | * [[SpriteBatch:setLayer]] |
[[Category:Functions]] | [[Category:Functions]] | ||
{{#set:Description=Changes a sprite in the batch.}} | {{#set:Description=Changes a sprite in the batch.}} |
Latest revision as of 09:42, 6 October 2019
Available since LÖVE 0.8.0 |
This method is not supported in earlier versions. |
Changes a sprite in the batch. This requires the sprite index returned by SpriteBatch:add or SpriteBatch:addLayer.
Contents
Function
Synopsis
SpriteBatch:set( spriteindex, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
number spriteindex
- The index of the sprite that will be changed.
number x
- The position to draw the object (x-axis).
number y
- The position to draw the object (y-axis).
number r (0)
- Orientation (radians).
number sx (1)
- Scale factor (x-axis).
number sy (sx)
- Scale factor (y-axis).
number ox (0)
- Origin offset (x-axis).
number oy (0)
- Origin offset (y-axis).
number kx (0)
- Shear factor (x-axis).
number ky (0)
- Shear factor (y-axis).
Returns
Nothing.
Function
Available since LÖVE 0.9.0 |
This variant has replaced SpriteBatch:setq. |
Changes a sprite with a Quad in the batch. This requires the index returned by SpriteBatch:add or SpriteBatch:addLayer.
Synopsis
SpriteBatch:set( spriteindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )
Arguments
number spriteindex
- The index of the sprite that will be changed.
Quad quad
- The Quad used on the image of the batch.
number x
- The position to draw the object (x-axis).
number y
- The position to draw the object (y-axis).
number r (0)
- Orientation (radians).
number sx (1)
- Scale factor (x-axis).
number sy (sx)
- Scale factor (y-axis).
number ox (0)
- Origin offset (x-axis).
number oy (0)
- Origin offset (y-axis).
number kx (0)
- Shear factor (x-axis).
number ky (0)
- Shear factor (y-axis).
Returns
Nothing.
Notes
SpriteBatches do not support removing individual sprites. One can do a pseudo removal (instead of clearing and re-adding everything) by:
SpriteBatch:set(id, 0, 0, 0, 0, 0)
This makes all the sprite's vertices equal (because the x and y scales are 0), which prevents the GPU from fully processing the sprite when drawing the SpriteBatch.
See Also
Other Languages
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