Difference between revisions of "SpriteBatch:set"

m (Quads are no longer replaced by Geometry)
m
Line 1: Line 1:
 
{{newin|[[0.8.0]]|080|type=method}}
 
{{newin|[[0.8.0]]|080|type=method}}
Changes a sprite in the batch. This requires the identifier returned by add and addq.
+
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( id, x, y, r, sx, sy, ox, oy, kx, ky )
+
SpriteBatch:set( spriteindex, x, y, r, sx, sy, ox, oy, kx, ky )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|number|id|The identifier of the sprite that will be changed.}}
+
{{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 23: Line 23:
 
== Function ==
 
== Function ==
 
{{newin|[[0.9.0]]|090|type=variant|text=This variant has replaced [[SpriteBatch:setq]]}}
 
{{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 identifier returned by [[SpriteBatch:add]].
+
Changes a sprite with a [[Quad]] in the batch. This requires the index returned by [[SpriteBatch:add]] or [[SpriteBatch:addLayer]].
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
SpriteBatch:set( id, quad, x, y, r, sx, sy, ox, oy, kx, ky )
+
SpriteBatch:set( spriteindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|number|id|The identifier of the sprite that will be changed.}}
+
{{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|Quad|quad|The Quad used on the image of the batch.}}
 
{{param|number|x|The position to draw the object (x-axis).}}
 
{{param|number|x|The position to draw the object (x-axis).}}
Line 55: Line 55:
 
* [[parent::SpriteBatch]]
 
* [[parent::SpriteBatch]]
 
* [[SpriteBatch:add]]
 
* [[SpriteBatch:add]]
* [[SpriteBatch:addq]]
+
* [[SpriteBatch:addLayer]]
* [[SpriteBatch:setq]]
+
* [[SpriteBatch:setLayer]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Changes a sprite in the batch.}}
 
{{#set:Description=Changes a sprite in the batch.}}

Revision as of 01:55, 21 January 2018

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.

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