forked from jaildesigner-jailgames/coffee_crisis
code reorganized
This commit is contained in:
89
source/coffeedrop.cpp
Normal file
89
source/coffeedrop.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
#include "const.h"
|
||||
#include "coffeedrop.h"
|
||||
|
||||
#ifndef UNUSED
|
||||
|
||||
// Constructor
|
||||
CoffeeDrop::CoffeeDrop()
|
||||
{
|
||||
mPosX = 0;
|
||||
mPosY = 0;
|
||||
mWidth = 8;
|
||||
mHeight = 8;
|
||||
mVelX = 0;
|
||||
mVelY = 0;
|
||||
mGravity = 0.1f;
|
||||
mFloor = 0;
|
||||
mEnabled = false;
|
||||
mSprite = new Sprite();
|
||||
mAlpha = 128;
|
||||
}
|
||||
|
||||
// Destructor
|
||||
CoffeeDrop::~CoffeeDrop()
|
||||
{
|
||||
delete mSprite;
|
||||
}
|
||||
|
||||
// Inicializador
|
||||
void CoffeeDrop::init(LTexture *texture, SDL_Renderer *renderer, float x, float y, float velX, float velY, int floor)
|
||||
{
|
||||
mEnabled = true;
|
||||
mPosX = x;
|
||||
mPosY = y;
|
||||
mVelX = velX;
|
||||
mVelY = velY;
|
||||
mFloor = floor;
|
||||
|
||||
mSprite->setRenderer(renderer);
|
||||
mSprite->setTexture(texture);
|
||||
mSprite->setSpriteClip(256, 97, mWidth, mHeight);
|
||||
mSprite->setPosX(x);
|
||||
mSprite->setPosY(y);
|
||||
}
|
||||
|
||||
// Actualiza las variables del objeto
|
||||
void CoffeeDrop::update()
|
||||
{
|
||||
if (mEnabled)
|
||||
{
|
||||
mVelY += mGravity;
|
||||
mPosX += mVelX;
|
||||
mPosY += mVelY;
|
||||
|
||||
mSprite->setPosX((int)mPosX);
|
||||
mSprite->setPosY((int)mPosY);
|
||||
|
||||
if ((mPosY > mFloor) || (mPosX > PLAY_AREA_RIGHT) || ((mPosX - mWidth) < PLAY_AREA_LEFT))
|
||||
mEnabled = false;
|
||||
|
||||
mAlpha -= 2;
|
||||
if (mAlpha == 0)
|
||||
mEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Pinta el objeto
|
||||
void CoffeeDrop::render()
|
||||
{
|
||||
if (mEnabled)
|
||||
{
|
||||
mSprite->getTexture()->setAlpha(mAlpha);
|
||||
mSprite->render();
|
||||
mSprite->getTexture()->setAlpha(255);
|
||||
}
|
||||
}
|
||||
|
||||
// Deshabilita el objeto
|
||||
void CoffeeDrop::disable()
|
||||
{
|
||||
mEnabled = false;
|
||||
}
|
||||
|
||||
// Comprueba si està habilitado
|
||||
bool CoffeeDrop::isEnabled()
|
||||
{
|
||||
return mEnabled;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user