Add project files.
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
#include "cAnimatedSprite.hpp"
|
||||
|
||||
using VideoEngine::cAnimatedSprite;
|
||||
|
||||
cAnimatedSprite::cAnimatedSprite( const unsigned long int x /*= 0*/, const unsigned long int y /*= 0*/,
|
||||
const unsigned long int fps /*= 16*/ )
|
||||
: m_nextTime(0), m_RATE(0)
|
||||
{
|
||||
setFPS(fps);
|
||||
setIncrement(x, y);
|
||||
}
|
||||
|
||||
cAnimatedSprite::cAnimatedSprite( const cAnimatedSprite& copy )
|
||||
: m_nextTime(0), m_RATE(0)
|
||||
{
|
||||
setFPS(copy.getFPS());
|
||||
setIncrement(copy.getXIncrement(), copy.getYIncrement());
|
||||
}
|
||||
|
||||
cAnimatedSprite::~cAnimatedSprite()
|
||||
{
|
||||
}
|
||||
|
||||
///Functions
|
||||
void cAnimatedSprite::UptoDown()
|
||||
{
|
||||
//if (TimeLeft() == 0)
|
||||
//{
|
||||
signed long int x = 0;
|
||||
signed long int y = 0;
|
||||
getStartImageArea(x, y);
|
||||
y += m_yIncrement;
|
||||
if (y >= signed(getImage()->getHeight()))
|
||||
y = 1;
|
||||
setStartImageArea(x, y);
|
||||
//}
|
||||
Draw();
|
||||
}
|
||||
|
||||
void cAnimatedSprite::DowntoUp()
|
||||
{
|
||||
//if (TimeLeft() == 0)
|
||||
//{
|
||||
signed long int x = 0;
|
||||
signed long int y = 0;
|
||||
|
||||
getStartImageArea(x, y);
|
||||
y -= m_yIncrement;
|
||||
if (y < 1)
|
||||
y = getImage()->getHeight() - m_yIncrement;
|
||||
setStartImageArea(x, y);
|
||||
//}
|
||||
Draw();
|
||||
}
|
||||
|
||||
void cAnimatedSprite::LefttoRight()
|
||||
{
|
||||
signed long int x = 0;
|
||||
signed long int y = 0;
|
||||
|
||||
getStartImageArea(x, y);
|
||||
if (x >= signed(getImage()->getWidth()))
|
||||
setStartImageArea(1,y);
|
||||
if (TimeLeft() == 0)
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
|
||||
getStartImageArea(x, y);
|
||||
x += m_xIncrement;
|
||||
if (x >= signed(getImage()->getWidth()))
|
||||
x = 1;
|
||||
setStartImageArea(x, y);
|
||||
}
|
||||
Draw();
|
||||
}
|
||||
|
||||
void cAnimatedSprite::RighttoLeft()
|
||||
{
|
||||
if (TimeLeft() == 0)
|
||||
{
|
||||
signed long int x = 0;
|
||||
signed long int y = 0;
|
||||
|
||||
getStartImageArea(x, y);
|
||||
x -= m_xIncrement;
|
||||
if (x <= 1)
|
||||
x = getImage()->getWidth() - m_xIncrement;
|
||||
setStartImageArea(x, y);
|
||||
}
|
||||
Draw();
|
||||
}
|
||||
|
||||
///Sets
|
||||
void cAnimatedSprite::setXIncrement( const unsigned long int x )
|
||||
{
|
||||
m_xIncrement = x;
|
||||
}
|
||||
|
||||
void cAnimatedSprite::setYIncrement( const unsigned long int y )
|
||||
{
|
||||
m_yIncrement = y;
|
||||
}
|
||||
|
||||
void cAnimatedSprite::setIncrement( const unsigned long int y, const unsigned long int x )
|
||||
{
|
||||
m_xIncrement = x;
|
||||
m_yIncrement = y;
|
||||
}
|
||||
|
||||
void cAnimatedSprite::setFPS( const unsigned long int fps /*= 16*/ )
|
||||
{
|
||||
m_fps = fps;
|
||||
m_RATE = (1000 / m_fps);
|
||||
m_nextTime = ((unsigned long int)SDL_GetTicks()) + m_RATE;
|
||||
}
|
||||
|
||||
///Gets
|
||||
const unsigned long int cAnimatedSprite::getXIncrement() const
|
||||
{
|
||||
return m_xIncrement;
|
||||
}
|
||||
|
||||
const unsigned long int cAnimatedSprite::getYIncrement() const
|
||||
{
|
||||
return m_yIncrement;
|
||||
}
|
||||
|
||||
void cAnimatedSprite::getIncrement( unsigned long int& x, unsigned long int& y ) const
|
||||
{
|
||||
x = m_xIncrement;
|
||||
y = m_yIncrement;
|
||||
}
|
||||
|
||||
const unsigned long int cAnimatedSprite::getFPS() const
|
||||
{
|
||||
return m_fps;
|
||||
}
|
||||
|
||||
const unsigned long int cAnimatedSprite::TimeLeft()
|
||||
{
|
||||
unsigned long int now = (unsigned long int)SDL_GetTicks();
|
||||
|
||||
if(m_nextTime <= now)
|
||||
{
|
||||
AddTimeandRate();
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
|
||||
void cAnimatedSprite::AddTimeandRate()
|
||||
{
|
||||
m_nextTime += m_RATE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user