Difference between revisions of "User:Flying Jester/SpriteBatch API"
From Spherical
(Created page with "This page is draft of the SpriteBatch API for TurboSphere. ==Variables== *POINT *LINE *TRIANGLE *RECTANGLE *POLYGON *CIRCLE *FILLED *OUTLINED *GRADIENT *OUTLINED_GRADIENT *B...") |
|||
Line 22: | Line 22: | ||
* SpriteBatch() | * SpriteBatch() | ||
− | + | :: Creates a new SpriteBatch object. | |
* spritebatch.addTexture(tex) | * spritebatch.addTexture(tex) | ||
− | + | :: Clones 'tex' into one of the spritebatch's buffers. 'tex' can be a Surface or Image. Any modifications to 'tex' after being cloned are not reflected by the copy in 'spritebatch'. | |
− | * spritebatch. | + | * spritebatch.getImages() |
− | + | :: Returns an array of added [[API:Image|images]] or surfaces (which are converted to images by adding them to the spritebatch) held in the buffer(s) of 'spritebatch'. These can be blit to the screen. | |
+ | |||
+ | * spritebatch.pushTexture(tex, mode, ..., [', [[API:Color|mask]]']) | ||
+ | :: Pushes a texture drawing operation for 'spritebatch' to perform when it draws. 'tex' is the index of the texture to draw. 'mode' can be: | ||
+ | |||
+ | *# BLIT | ||
+ | *# ROTATE_BLIT | ||
+ | *# ZOOM_BLIT | ||
+ | *# STRETCH_BLIT | ||
+ | *# TRANSFORM_BLIT | ||
+ | |||
+ | :: Function signatures are: | ||
+ | |||
+ | *#* spritebatch.pushTexture(tex, BLIT, x, y, [', [[API:Color|mask]]']) | ||
+ | *#* spritebatch.pushTexture(tex, ROTATE_BLIT, x, y, a [', [[API:Color|mask]]']) | ||
+ | *#* spritebatch.pushTexture(tex, ZOOM_BLIT, x, y, f [', [[API:Color|mask]]']) | ||
+ | *#* spritebatch.pushTexture(tex, STRETCH_BLIT, x, y, xf, yf [', [[API:Color|mask]]']) | ||
+ | *#* spritebatch.pushTexture(tex, TRANSFORM_BLIT, x1, y1, x2, y2, x3, y3, x4, y4 [', [[API:Color|mask]]']) | ||
+ | |||
+ | |||
+ | * spritebatch.insertTexture(index, tex, mode, ..., [', [[API:Color|mask]]']) | ||
+ | :: Same as pushTexture, but inserts operation at 'index' in the list of operations to perform. | ||
+ | |||
+ | * spritebatch.pushPrimitiveOperation(primitive, type, ...) | ||
+ | :: Adds a primitive operation to the list of operations 'spritebatch' will perform when draw() is called. Primitives can be | ||
*# POINT | *# POINT | ||
Line 37: | Line 61: | ||
*# CIRCLE | *# CIRCLE | ||
− | + | :: Types can be | |
*# FILLED | *# FILLED | ||
Line 44: | Line 68: | ||
*# OUTLINED_GRADIENT | *# OUTLINED_GRADIENT | ||
− | + | :: Function signatures are: | |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(POINT, type, x, y, [[API:Color|color]] ...) |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(LINE, type, x1, y1, x2, y2, [[API:Color|color]] ...) |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(TRIANGLE, type, x1, y1, x2, y2, x3, y3, [[API:Color|color]] ...) |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(RECTANGLE, type, x, y, w, h [[API:Color|color]] ...) |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(POLYGON, type, xs, ys, [[API:Color|color]] ...) |
− | *#* spritebatch. | + | *#* spritebatch.addPrimitiveOperation(CIRCLE, type, x, y, r, [[API:Color|color]] ...) |
− | + | ::'color' is defined by 'type'. | |
*#* FILLED or OUTLINED: one color. | *#* FILLED or OUTLINED: one color. | ||
*#* GRADIENT or OUTLINED_GRADIENT: one color argument for each vertex. | *#* GRADIENT or OUTLINED_GRADIENT: one color argument for each vertex. | ||
− | * spritebatch. | + | * spritebatch.insertPrimitiveOperation(index, primitive, type, ...) |
− | + | :: Same as pushOperation, but inserts the operation at 'index' in the list. | |
− | * spritebatch. | + | * spritebatch.popOperation() |
− | + | :: Removes the last operation from 'spritebatch'. | |
− | * spritebatch. | + | * spritebatch.spliceOperation(index [', num']) |
− | + | :: Removes operation at 'index'. If 'num' is specified, removes 'num' operations starting at 'index'. If 'index' is negative, it is treated as that many items from the end of the operation list. If 'num' is negative, 'num' operations preceding 'index' are removed. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 04:01, 25 November 2013
This page is draft of the SpriteBatch API for TurboSphere.
Variables
- POINT
- LINE
- TRIANGLE
- RECTANGLE
- POLYGON
- CIRCLE
- FILLED
- OUTLINED
- GRADIENT
- OUTLINED_GRADIENT
- BLIT
- ROTATE_BLIT
- ZOOM_BLIT
- STRETCH_BLIT
- TRANSFORM_BLIT
Objects
- SpriteBatch()
- Creates a new SpriteBatch object.
- spritebatch.addTexture(tex)
- Clones 'tex' into one of the spritebatch's buffers. 'tex' can be a Surface or Image. Any modifications to 'tex' after being cloned are not reflected by the copy in 'spritebatch'.
- spritebatch.getImages()
- Returns an array of added images or surfaces (which are converted to images by adding them to the spritebatch) held in the buffer(s) of 'spritebatch'. These can be blit to the screen.
- spritebatch.pushTexture(tex, mode, ..., [', mask'])
- Pushes a texture drawing operation for 'spritebatch' to perform when it draws. 'tex' is the index of the texture to draw. 'mode' can be:
- BLIT
- ROTATE_BLIT
- ZOOM_BLIT
- STRETCH_BLIT
- TRANSFORM_BLIT
- Function signatures are:
- spritebatch.pushTexture(tex, BLIT, x, y, [', mask'])
- spritebatch.pushTexture(tex, ROTATE_BLIT, x, y, a [', mask'])
- spritebatch.pushTexture(tex, ZOOM_BLIT, x, y, f [', mask'])
- spritebatch.pushTexture(tex, STRETCH_BLIT, x, y, xf, yf [', mask'])
- spritebatch.pushTexture(tex, TRANSFORM_BLIT, x1, y1, x2, y2, x3, y3, x4, y4 [', mask'])
- spritebatch.insertTexture(index, tex, mode, ..., [', mask'])
- Same as pushTexture, but inserts operation at 'index' in the list of operations to perform.
- spritebatch.pushPrimitiveOperation(primitive, type, ...)
- Adds a primitive operation to the list of operations 'spritebatch' will perform when draw() is called. Primitives can be
- POINT
- LINE
- TRIANGLE
- RECTANGLE
- POLYGON
- CIRCLE
- Types can be
- FILLED
- OUTLINED
- GRADIENT
- OUTLINED_GRADIENT
- Function signatures are:
- spritebatch.addPrimitiveOperation(POINT, type, x, y, color ...)
- spritebatch.addPrimitiveOperation(LINE, type, x1, y1, x2, y2, color ...)
- spritebatch.addPrimitiveOperation(TRIANGLE, type, x1, y1, x2, y2, x3, y3, color ...)
- spritebatch.addPrimitiveOperation(RECTANGLE, type, x, y, w, h color ...)
- spritebatch.addPrimitiveOperation(POLYGON, type, xs, ys, color ...)
- spritebatch.addPrimitiveOperation(CIRCLE, type, x, y, r, color ...)
- 'color' is defined by 'type'.
- FILLED or OUTLINED: one color.
- GRADIENT or OUTLINED_GRADIENT: one color argument for each vertex.
- spritebatch.insertPrimitiveOperation(index, primitive, type, ...)
- Same as pushOperation, but inserts the operation at 'index' in the list.
- spritebatch.popOperation()
- Removes the last operation from 'spritebatch'.
- spritebatch.spliceOperation(index [', num'])
- Removes operation at 'index'. If 'num' is specified, removes 'num' operations starting at 'index'. If 'index' is negative, it is treated as that many items from the end of the operation list. If 'num' is negative, 'num' operations preceding 'index' are removed.