AnimatedSprite - ZenXChaos/MapleStorySDLCPP GitHub Wiki
Game
AnimatedSprite.h // AnimatedSprite.cpp
: Handles all sprite animation and rendering of an entity or object.
private members:
float current_frame = 0.0f;
float max_frames = 0.0f;
float delta = 0.0f;
float percentDone = 0.0f;
bool animFinished = false;
SDL_Renderer* renderer = nullptr;
public members:
SDL_RendererFlip flipType = SDL_FLIP_NONE;
SDL_Texture* texture = nullptr;
SDL_Rect animclips [100];
int yfactor = 0
int xfactor = 0;
bool LoadTexture(std::string path, SDL_Renderer* gRenderer);
void BuildAnimation(int row, int cnt, int w, int h, float d);
void Animate(SDL_Rect pos, double angle, SDL_Point* center, SDL_RendererFlip flip, SDL_Rect* frameData);
SDL_Renderer* getRenderer();
current_frame
: The current frame playing in the animation.
max_frames
: Maximum number of frames in an animation.
delta
: Speed per tick to play an animation.
percentDone
: % of animation complete.
animFinished
: Determines whether the current animation is finished playing, or the animation has just been reset.
renderer
: SDL_Renderer* to be displayed to.
flipType
: Determines whether to flip horizontal or not. Makes sure object is always facing the way requested.
texture
: SDL_Texture to be displayed. Load .png files here!
animclips
: An array of sprite rects for a single animation.
yfactor
: Offset sprite Y Pos.
xfactor
: Offset sprite X Pos.
float getDelta
: Animation delta getter.
float percentDone
: Animation % complete getter.
bool isFinishedPlaying
: Is animation finished? (getter)
void LoadTexture
: Loads the texture.
void BuildAnimation
: Creates the animation rects stored in animclips
.
void Animate
: Animates / Draws the texture.
SDL_Renderer* getRenderer
: Returns a pointer to the renderer the texture is being displayed to.