Package gaiasky.util.gdx.g2d
Class Sprite
java.lang.Object
gaiasky.util.gdx.g2d.TextureRegion
gaiasky.util.gdx.g2d.Sprite
- Direct Known Subclasses:
TextureAtlas.AtlasSprite
Holds the geometry, color, and texture information for drawing 2D sprites using
Batch
. A Sprite has a position and a
size given as width and height. The position is relative to the origin of the coordinate system specified via
Batch.begin()
and the respective matrices. A Sprite is always rectangular and its position (x, y) are located in the
bottom left corner of that rectangle. A Sprite also has an origin around which rotations and scaling are performed (that is,
the origin is not modified by rotation and scaling). The origin is given relative to the bottom left corner of the Sprite, its
position.-
Constructor Summary
ConstructorDescriptionSprite()
Creates an uninitialized sprite.Sprite
(com.badlogic.gdx.graphics.Texture texture) Creates a sprite with width, height, and texture region equal to the size of the texture.Sprite
(com.badlogic.gdx.graphics.Texture texture, int srcWidth, int srcHeight) Creates a sprite with width, height, and texture region equal to the specified size.Sprite
(com.badlogic.gdx.graphics.Texture texture, int srcX, int srcY, int srcWidth, int srcHeight) Creates a sprite with width, height, and texture region equal to the specified size.Creates a sprite that is a copy in every way of the specified sprite.Sprite
(TextureRegion region) Creates a sprite based on a specific TextureRegion, the new sprite's region is a copy of the parameter region - altering one does not affect the otherSprite
(TextureRegion region, int srcX, int srcY, int srcWidth, int srcHeight) Creates a sprite with width, height, and texture region equal to the specified size, relative to specified sprite's texture region. -
Method Summary
Modifier and TypeMethodDescriptionvoid
draw
(com.badlogic.gdx.graphics.g2d.Batch batch) void
draw
(com.badlogic.gdx.graphics.g2d.Batch batch, float alphaModulation) void
flip
(boolean x, boolean y) boolean parameters x,y are not setting a state, but performing a flipcom.badlogic.gdx.math.Rectangle
Returns the bounding axis alignedRectangle
that bounds this sprite.com.badlogic.gdx.graphics.Color
getColor()
Returns the color of this sprite.float
float
The origin influencessetPosition(float, float)
,setRotation(float)
and the expansion direction of scalingsetScale(float, float)
float
The origin influencessetPosition(float, float)
,setRotation(float)
and the expansion direction of scalingsetScale(float, float)
float
float
X scale of the sprite, independent of size set bysetSize(float, float)
float
Y scale of the sprite, independent of size set bysetSize(float, float)
float[]
Returns the packed vertices, colors, and texture coordinates for this sprite.float
getWidth()
float
getX()
float
getY()
void
rotate
(float degrees) Sets the sprite's rotation in degrees relative to the current rotation.void
rotate90
(boolean clockwise) Rotates this sprite 90 degrees in-place by rotating the texture coordinates.void
scale
(float amount) Sets the sprite's scale relative to the current scale.void
scroll
(float xAmount, float yAmount) Offsets the region relative to the current region.void
Make this sprite a copy in every way of the specified spritevoid
setAlpha
(float a) Sets the alpha portion of the color used to tint this sprite.void
setBounds
(float x, float y, float width, float height) Sets the position and size of the sprite when drawn, before scaling and rotation are applied.void
setCenter
(float x, float y) Sets the position so that the sprite is centered on (x, y)void
setCenterX
(float x) Sets the x position so that it is centered on the given x parametervoid
setCenterY
(float y) Sets the y position so that it is centered on the given y parametervoid
setColor
(float r, float g, float b, float a) void
setColor
(com.badlogic.gdx.graphics.Color tint) Sets the color used to tint this sprite.void
setFlip
(boolean x, boolean y) Set the sprite's flip state regardless of current conditionvoid
setOrigin
(float originX, float originY) Sets the origin in relation to the sprite's position for scaling and rotation.void
setOriginBasedPosition
(float x, float y) Sets the position where the sprite will be drawn, relative to its current origin.void
Place origin in the center of the spritevoid
setPackedColor
(float packedColor) Sets the color of this sprite, expanding the alpha from 0-254 to 0-255.void
setPosition
(float x, float y) Sets the position where the sprite will be drawn.void
setRegion
(float u, float v, float u2, float v2) void
setRotation
(float degrees) Sets the rotation of the sprite in degrees.void
setScale
(float scaleXY) Sets the sprite's scale for both X and Y uniformly.void
setScale
(float scaleX, float scaleY) Sets the sprite's scale for both X and Y.void
setSize
(float width, float height) Sets the size of the sprite when drawn, before scaling and rotation are applied.void
setU
(float u) void
setU2
(float u2) void
setV
(float v) void
setV2
(float v2) void
setX
(float x) Sets the x position where the sprite will be drawn.void
setY
(float y) Sets the y position where the sprite will be drawn.void
translate
(float xAmount, float yAmount) Sets the position relative to the current position where the sprite will be drawn.void
translateX
(float xAmount) Sets the x position relative to the current position where the sprite will be drawn.void
translateY
(float yAmount) Sets the y position relative to the current position where the sprite will be drawn.Methods inherited from class gaiasky.util.gdx.g2d.TextureRegion
getRegionHeight, getRegionWidth, getRegionX, getRegionY, getTexture, getU, getU2, getV, getV2, isFlipX, isFlipY, setRegion, setRegion, setRegion, setRegion, setRegionHeight, setRegionWidth, setRegionX, setRegionY, setTexture, split, split
-
Constructor Details
-
Sprite
public Sprite()Creates an uninitialized sprite. The sprite will need a texture region and bounds set before it can be drawn. -
Sprite
public Sprite(com.badlogic.gdx.graphics.Texture texture) Creates a sprite with width, height, and texture region equal to the size of the texture. -
Sprite
public Sprite(com.badlogic.gdx.graphics.Texture texture, int srcWidth, int srcHeight) Creates a sprite with width, height, and texture region equal to the specified size. The texture region's upper left corner will be 0,0.- Parameters:
srcWidth
- The width of the texture region. May be negative to flip the sprite when drawn.srcHeight
- The height of the texture region. May be negative to flip the sprite when drawn.
-
Sprite
public Sprite(com.badlogic.gdx.graphics.Texture texture, int srcX, int srcY, int srcWidth, int srcHeight) Creates a sprite with width, height, and texture region equal to the specified size.- Parameters:
srcWidth
- The width of the texture region. May be negative to flip the sprite when drawn.srcHeight
- The height of the texture region. May be negative to flip the sprite when drawn.
-
Sprite
Creates a sprite based on a specific TextureRegion, the new sprite's region is a copy of the parameter region - altering one does not affect the other -
Sprite
Creates a sprite with width, height, and texture region equal to the specified size, relative to specified sprite's texture region.- Parameters:
srcWidth
- The width of the texture region. May be negative to flip the sprite when drawn.srcHeight
- The height of the texture region. May be negative to flip the sprite when drawn.
-
Sprite
Creates a sprite that is a copy in every way of the specified sprite.
-
-
Method Details
-
set
Make this sprite a copy in every way of the specified sprite -
setBounds
public void setBounds(float x, float y, float width, float height) Sets the position and size of the sprite when drawn, before scaling and rotation are applied. If origin, rotation, or scale are changed, it is slightly more efficient to set the bounds after those operations. -
setSize
public void setSize(float width, float height) Sets the size of the sprite when drawn, before scaling and rotation are applied. If origin, rotation, or scale are changed, it is slightly more efficient to set the size after those operations. If both position and size are to be changed, it is better to usesetBounds(float, float, float, float)
. -
setPosition
public void setPosition(float x, float y) Sets the position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to set the position after those operations. If both position and size are to be changed, it is better to usesetBounds(float, float, float, float)
. -
setOriginBasedPosition
public void setOriginBasedPosition(float x, float y) Sets the position where the sprite will be drawn, relative to its current origin. -
setCenterX
public void setCenterX(float x) Sets the x position so that it is centered on the given x parameter -
setCenterY
public void setCenterY(float y) Sets the y position so that it is centered on the given y parameter -
setCenter
public void setCenter(float x, float y) Sets the position so that the sprite is centered on (x, y) -
translateX
public void translateX(float xAmount) Sets the x position relative to the current position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to translate after those operations. -
translateY
public void translateY(float yAmount) Sets the y position relative to the current position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to translate after those operations. -
translate
public void translate(float xAmount, float yAmount) Sets the position relative to the current position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to translate after those operations. -
setAlpha
public void setAlpha(float a) Sets the alpha portion of the color used to tint this sprite. -
setColor
public void setColor(float r, float g, float b, float a) - See Also:
-
setPackedColor
public void setPackedColor(float packedColor) Sets the color of this sprite, expanding the alpha from 0-254 to 0-255.- See Also:
-
setColor(Color)
Color.toFloatBits()
-
setOrigin
public void setOrigin(float originX, float originY) Sets the origin in relation to the sprite's position for scaling and rotation. -
setOriginCenter
public void setOriginCenter()Place origin in the center of the sprite -
getRotation
public float getRotation()- Returns:
- the rotation of the sprite in degrees
-
setRotation
public void setRotation(float degrees) Sets the rotation of the sprite in degrees. Rotation is centered on the origin set insetOrigin(float, float)
-
rotate
public void rotate(float degrees) Sets the sprite's rotation in degrees relative to the current rotation. Rotation is centered on the origin set insetOrigin(float, float)
-
rotate90
public void rotate90(boolean clockwise) Rotates this sprite 90 degrees in-place by rotating the texture coordinates. This rotation is unaffected bysetRotation(float)
androtate(float)
. -
setScale
public void setScale(float scaleXY) Sets the sprite's scale for both X and Y uniformly. The sprite scales out from the origin. This will not affect the values returned bygetWidth()
andgetHeight()
-
setScale
public void setScale(float scaleX, float scaleY) Sets the sprite's scale for both X and Y. The sprite scales out from the origin. This will not affect the values returned bygetWidth()
andgetHeight()
-
scale
public void scale(float amount) Sets the sprite's scale relative to the current scale. for example: original scale 2 -> sprite.scale(4) -> final scale 6. The sprite scales out from the origin. This will not affect the values returned bygetWidth()
andgetHeight()
-
getVertices
public float[] getVertices()Returns the packed vertices, colors, and texture coordinates for this sprite. -
getBoundingRectangle
public com.badlogic.gdx.math.Rectangle getBoundingRectangle()Returns the bounding axis alignedRectangle
that bounds this sprite. The rectangles x and y coordinates describe its bottom left corner. If you change the position or size of the sprite, you have to fetch the triangle again for it to be recomputed.- Returns:
- the bounding Rectangle
-
draw
public void draw(com.badlogic.gdx.graphics.g2d.Batch batch) -
draw
public void draw(com.badlogic.gdx.graphics.g2d.Batch batch, float alphaModulation) -
getX
public float getX() -
setX
public void setX(float x) Sets the x position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to set the position after those operations. If both position and size are to be changed, it is better to usesetBounds(float, float, float, float)
. -
getY
public float getY() -
setY
public void setY(float y) Sets the y position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient to set the position after those operations. If both position and size are to be changed, it is better to usesetBounds(float, float, float, float)
. -
getWidth
public float getWidth()- Returns:
- the width of the sprite, not accounting for scale.
-
getHeight
public float getHeight()- Returns:
- the height of the sprite, not accounting for scale.
-
getOriginX
public float getOriginX()The origin influencessetPosition(float, float)
,setRotation(float)
and the expansion direction of scalingsetScale(float, float)
-
getOriginY
public float getOriginY()The origin influencessetPosition(float, float)
,setRotation(float)
and the expansion direction of scalingsetScale(float, float)
-
getScaleX
public float getScaleX()X scale of the sprite, independent of size set bysetSize(float, float)
-
getScaleY
public float getScaleY()Y scale of the sprite, independent of size set bysetSize(float, float)
-
getColor
public com.badlogic.gdx.graphics.Color getColor()Returns the color of this sprite. If the returned instance is manipulated,setColor(Color)
must be called afterward. -
setColor
public void setColor(com.badlogic.gdx.graphics.Color tint) Sets the color used to tint this sprite. Default isColor.WHITE
. -
setRegion
public void setRegion(float u, float v, float u2, float v2) - Overrides:
setRegion
in classTextureRegion
-
setU
public void setU(float u) - Overrides:
setU
in classTextureRegion
-
setV
public void setV(float v) - Overrides:
setV
in classTextureRegion
-
setU2
public void setU2(float u2) - Overrides:
setU2
in classTextureRegion
-
setV2
public void setV2(float v2) - Overrides:
setV2
in classTextureRegion
-
setFlip
public void setFlip(boolean x, boolean y) Set the sprite's flip state regardless of current condition- Parameters:
x
- the desired horizontal flip statey
- the desired vertical flip state
-
flip
public void flip(boolean x, boolean y) boolean parameters x,y are not setting a state, but performing a flip- Overrides:
flip
in classTextureRegion
- Parameters:
x
- perform horizontal flipy
- perform vertical flip
-
scroll
public void scroll(float xAmount, float yAmount) Description copied from class:TextureRegion
Offsets the region relative to the current region. Generally the region's size should be the entire size of the texture in the direction(s) it is scrolled.- Overrides:
scroll
in classTextureRegion
- Parameters:
xAmount
- The percentage to offset horizontally.yAmount
- The percentage to offset vertically. This is done in texture space, so up is negative.
-