Difference between revisions of "SpriteBatch"

m (Added to PrettyDeprecated)
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Store geometry in a buffer, and draw it in one call.
+
Using a single image, draw any number of identical copies of the image using a single call to [[love.graphics.draw]](). This can be used, for example, to draw repeating copies of a single background image with high performance.
 +
 
 +
A SpriteBatch can be even more useful when the underlying image is a [http://en.wikipedia.org/wiki/Texture_atlas texture atlas] (a single image file containing many independent images); by adding [[Quad]]s to the batch, different sub-images from within the atlas can be drawn.
 +
== Constructors ==
 +
{{#ask: [[Category:Functions]] [[Constructs::SpriteBatch]] [[Concept:Current]]
 +
| headers=hide
 +
| default=None.
 +
| format=template
 +
| template=ListingFields
 +
| introtemplate=ListingIntro
 +
| outrotemplate=ListingOutro
 +
| ?Description
 +
| ?PrettySince
 +
| ?PrettyRemoved
 +
| ?PrettyDeprecated
 +
}}
 
== Functions ==
 
== Functions ==
{{#ask: [[Category:Functions]] [[parent::SpriteBatch]] OR [[parent::Drawable]]
+
{{#ask: [[Category:Functions]] [[parent::SpriteBatch||Drawable||Object]] [[Concept:Current]]
 +
| headers=hide
 +
| format=template
 +
| template=ListingFields
 +
| introtemplate=ListingIntro
 +
| outrotemplate=ListingOutro
 +
| ?Description
 +
| ?PrettySince
 +
| ?PrettyRemoved
 +
| ?PrettyDeprecated
 +
}}
 +
== Enums ==
 +
{{#ask: [[Category:Enums]] [[parent::SpriteBatch||Drawable||Object]] [[Concept:Current]]
 
| headers=hide
 
| headers=hide
 +
| format=template
 +
| template=ListingFields
 +
| introtemplate=ListingIntro
 +
| outrotemplate=ListingOutro
 
| ?Description
 
| ?Description
 +
| ?PrettySince
 +
| ?PrettyRemoved
 +
| ?PrettyDeprecated
 
}}
 
}}
 
== Supertypes ==
 
== Supertypes ==
[[Drawable]]
+
* [[parent::Drawable]]
 +
* [[parent::Object]]
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
* [[love.graphics.newSpriteBatch]]
 
 
[[Category:Types]]
 
[[Category:Types]]
{{#set:Description=Store geometry in a buffer, and draw it in one call.}}
+
{{#set:Description=Store image positions in a buffer, and draw it in one call.}}
 +
{{#set:Since=000}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|SpriteBatch}}
 
{{i18n|SpriteBatch}}

Latest revision as of 05:48, 8 July 2019

Using a single image, draw any number of identical copies of the image using a single call to love.graphics.draw(). This can be used, for example, to draw repeating copies of a single background image with high performance.

A SpriteBatch can be even more useful when the underlying image is a texture atlas (a single image file containing many independent images); by adding Quads to the batch, different sub-images from within the atlas can be drawn.

Constructors

love.graphics.newSpriteBatch Creates a new SpriteBatch.

Functions

Object:release Immediately destroys the object's Lua reference. Added since 11.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.
SpriteBatch:add Adds a sprite to the batch.
SpriteBatch:addLayer Adds a sprite to a batch created with an Array Texture. Added since 11.0
SpriteBatch:addq Adds a Quad to the batch. Removed in 0.9.0
SpriteBatch:attachAttribute Attaches a per-vertex attribute from a Mesh onto this SpriteBatch, for use when drawing. Added since 0.10.0
SpriteBatch:bind Binds the SpriteBatch to memory for more efficient updating. Added since 0.8.0 Removed in 0.10.0
SpriteBatch:clear Removes all sprites from the buffer.
SpriteBatch:flush Immediately sends all new and modified sprite data to the graphics card. Added since 0.9.2
SpriteBatch:getBufferSize Gets the maximum number of sprites the SpriteBatch can hold. Added since 0.9.0
SpriteBatch:getColor Gets the color that will be used for the next add and set operations. Added since 0.9.0
SpriteBatch:getCount Gets the number of sprites currently in the SpriteBatch. Added since 0.9.0
SpriteBatch:getImage Returns the image used by the SpriteBatch. Added since 0.8.0 Removed in 0.10.0
SpriteBatch:getTexture Gets the texture (Image or Canvas) used by the SpriteBatch. Added since 0.9.1
SpriteBatch:set Changes a sprite in the batch. Added since 0.8.0
SpriteBatch:setBufferSize Sets the maximum number of sprites the SpriteBatch can hold. Added since 0.9.0 Removed in 11.0
SpriteBatch:setColor Sets the color that will be used for the next add or set operations. Added since 0.8.0
SpriteBatch:setDrawRange Restricts the drawn sprites in the SpriteBatch to a subset of the total. Added since 11.0
SpriteBatch:setImage Replaces the image used for the sprites. Added since 0.7.2 Removed in 0.10.0
SpriteBatch:setLayer Changes a sprite previously added with add or addLayer, in a batch created with an Array Texture. Added since 11.0
SpriteBatch:setTexture Sets the texture (Image or Canvas) used for the sprites in the batch. Added since 0.9.1
SpriteBatch:setq Changes a sprite with a quad in the batch. Added since 0.8.0 Removed in 0.9.0
SpriteBatch:unbind Unbinds the SpriteBatch. Added since 0.8.0 Removed in 0.10.0

Enums

SpriteBatchUsage Usage hints for SpriteBatches and Meshes. Added since 0.8.0

Supertypes

See Also


Other Languages