Trabajando en la reescritura del código

This commit is contained in:
2022-09-26 14:06:44 +02:00
parent 837bcbd1da
commit b092d3f86a
10 changed files with 244 additions and 210 deletions

View File

@@ -2,22 +2,11 @@
#include "item.h"
// Constructor
Item::Item()
Item::Item(Uint8 value, float x, float y, LTexture *texture, SDL_Renderer *renderer)
{
mSprite = new AnimatedSprite();
mSprite = new AnimatedSprite(texture, renderer);
mClass = NO_KIND;
}
// Destructor
Item::~Item()
{
delete mSprite;
mSprite = nullptr;
}
// Iniciador
void Item::init(Uint8 value, float x, float y, LTexture *texture, SDL_Renderer *renderer)
{
mClass = value;
mEnabled = true;
mTimeToLive = 600;
@@ -33,12 +22,10 @@ void Item::init(Uint8 value, float x, float y, LTexture *texture, SDL_Renderer *
mCollider.r = mWidth / 2;
shiftColliders();
mSprite->init(texture, renderer);
mSprite->setAnimationFrames(0, 0, 0, 48, mWidth, mHeight);
mSprite->setAnimationFrames(0, 1, 0, 64, mWidth, mHeight);
mSprite->setCurrentFrame(0);
mSprite->setAnimationCounter(0);
mSprite->setAnimationNumFrames(0, 2);
mSprite->setAnimationSpeed(0, 10);
mSprite->setAnimationLoop(0, true);
mSprite->setSpriteClip(mSprite->getAnimationClip(0, 0));
@@ -91,7 +78,6 @@ void Item::init(Uint8 value, float x, float y, LTexture *texture, SDL_Renderer *
mVelX = 0.0f;
mVelY = -0.1f;
mAccelY = 0.1f;
mSprite->setAnimationNumFrames(0, 4);
mSprite->setAnimationFrames(0, 0, 32 * 0, 16 * 2, mWidth, mHeight);
mSprite->setAnimationFrames(0, 1, 32 * 1, 16 * 2, mWidth, mHeight);
mSprite->setAnimationFrames(0, 2, 32 * 2, 16 * 2, mWidth, mHeight);
@@ -107,6 +93,13 @@ void Item::init(Uint8 value, float x, float y, LTexture *texture, SDL_Renderer *
}
}
// Destructor
Item::~Item()
{
delete mSprite;
mSprite = nullptr;
}
// Centra el objeto en la posición X
void Item::allignTo(int x)
{
@@ -202,7 +195,7 @@ void Item::move()
// Pone a cero todos los valores del objeto
void Item::erase()
{
init(NO_KIND, 0, 0, nullptr, nullptr);
//init(NO_KIND, 0, 0, nullptr, nullptr);
}
// Actualiza el objeto a su posicion, animación y controla los contadores
@@ -285,8 +278,6 @@ circle_t &Item::getCollider()
// Alinea el circulo de colisión con la posición del objeto
void Item::shiftColliders()
{
//mCollider.x = int(mPosX + mCollider.r);
//mCollider.y = int(mPosY + mCollider.r);
mCollider.x = int(mPosX + (mWidth / 2));
mCollider.y = int(mPosY + (mHeight / 2));
}