v1.4
This commit is contained in:
@@ -11,33 +11,34 @@
|
||||
class Balloon
|
||||
{
|
||||
private:
|
||||
float mPosX; // Posición en el eje X
|
||||
int mPosY; // Posición en el eje Y
|
||||
|
||||
Uint8 mWidth; // Ancho
|
||||
Uint8 mHeight; // Alto
|
||||
|
||||
float mVelX; // Velocidad en el eje X. Cantidad de pixeles a desplazarse
|
||||
float mVelY; // Velocidad en el eje Y. Cantidad de pixeles a desplazarse
|
||||
float mGravity; // Aceleración en el eje Y. Modifica la velocidad
|
||||
float mDefaultVelY; // Velocidad inicial que tienen al rebotar contra el suelo
|
||||
int mMaxVelY; // Máxima velocidad que puede alcanzar el objeto en el eje Y
|
||||
|
||||
float mPosX; // Posición en el eje X
|
||||
float mPosY; // Posición en el eje Y
|
||||
Uint8 mWidth; // Ancho
|
||||
Uint8 mHeight; // Alto
|
||||
float mVelX; // Velocidad en el eje X. Cantidad de pixeles a desplazarse
|
||||
float mVelY; // Velocidad en el eje Y. Cantidad de pixeles a desplazarse
|
||||
float mGravity; // Aceleración en el eje Y. Modifica la velocidad
|
||||
float mDefaultVelY; // Velocidad inicial que tienen al rebotar contra el suelo
|
||||
float mMaxVelY; // Máxima velocidad que puede alcanzar el objeto en el eje Y
|
||||
AnimatedSprite *mSprite; // Sprite del objeto globo
|
||||
bool mBeingCreated; // Indica si el globo se está creando
|
||||
bool mBlinking; // Indica si el globo está intermitente
|
||||
bool mEnabled; // Indica si el globo esta activo
|
||||
bool mInvulnerable; // Indica si el globo es invulnerable
|
||||
bool mPopping; // Indica si el globo está explotando
|
||||
bool mStopped; // Indica si el globo está parado
|
||||
bool mVisible; // Indica si el globo es visible
|
||||
Circle mCollider; // Circulo de colisión del objeto
|
||||
circle_t mCollider; // Circulo de colisión del objeto
|
||||
Uint16 mCreationCounter; // Temporizador para controlar el estado "creandose"
|
||||
Uint16 mCreationCounterIni; // Valor inicial para el temporizador para controlar el estado "creandose"
|
||||
Uint16 mScore; // Puntos que da el globo al ser destruido
|
||||
Uint16 mStoppedCounter; // Contador para controlar el estado "parado"
|
||||
Uint16 mTimeToLive; // Indica el tiempo de vida que le queda al globo
|
||||
Uint8 mKind; // Tipo de globo
|
||||
Uint8 mMenace; // Cantidad de amenaza que genera el globo
|
||||
Uint8 mMenace; // Cantidad de amenaza que genera el globo
|
||||
Uint32 mCounter; // Contador interno
|
||||
float mTravelY; // Distancia que ha de recorrer el globo en el eje Y antes de que se le aplique la gravedad
|
||||
float mSpeed; // Velocidad a la que se mueven los globos
|
||||
|
||||
struct bouncing // Estructura para las variables para el efecto de los rebotes
|
||||
{
|
||||
@@ -53,13 +54,17 @@ private:
|
||||
float w[MAX_BOUNCE] = {1.10f, 1.05f, 1.00f, 0.95f, 0.90f, 0.95f, 1.00f, 1.02f, 1.05f, 1.02f};
|
||||
float h[MAX_BOUNCE] = {0.90f, 0.95f, 1.00f, 1.05f, 1.10f, 1.05f, 1.00f, 0.98f, 0.95f, 0.98f};
|
||||
};
|
||||
|
||||
bouncing mBouncing;
|
||||
|
||||
void shiftColliders(); // Alinea el circulo de colisión con la posición del objeto globo
|
||||
void bounceStart(); // Activa el efecto
|
||||
void bounceStop(); // Detiene el efecto
|
||||
void bounceUpdate(); // Aplica el efecto
|
||||
void updateColliders(); // Alinea el circulo de colisión con la posición del objeto globo
|
||||
void bounceStart(); // Activa el efecto
|
||||
void bounceStop(); // Detiene el efecto
|
||||
void updateBounce(); // Aplica el efecto
|
||||
void updateState(); // Actualiza los estados del globo
|
||||
void updateAnimation(); // Establece la animación correspondiente
|
||||
void setBeingCreated(bool state); // Establece el valor de la variable
|
||||
void setTimeToLive(Uint16 time); // Establece el valor de la variable
|
||||
Uint16 getTimeToLive(); // Obtiene del valor de la variable
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
@@ -69,7 +74,7 @@ public:
|
||||
~Balloon();
|
||||
|
||||
// Inicializador
|
||||
void init(float x, int y, Uint8 kind, float velx, Uint16 creationtimer, LTexture *texture, SDL_Renderer *renderer);
|
||||
void init(float x, float y, Uint8 kind, float velx, float speed, Uint16 creationtimer, LTexture *texture, SDL_Renderer *renderer);
|
||||
|
||||
// Centra el globo en la posición X
|
||||
void allignTo(int x);
|
||||
@@ -80,8 +85,8 @@ public:
|
||||
// Actualiza la posición y estados del globo
|
||||
void move();
|
||||
|
||||
// Pone a cero todos los valores del globo
|
||||
void erase();
|
||||
// Deshabilita el globo y pone a cero todos los valores
|
||||
void disable();
|
||||
|
||||
// Explosiona el globo
|
||||
void pop();
|
||||
@@ -89,17 +94,14 @@ public:
|
||||
// Actualiza al globo a su posicion, animación y controla los contadores
|
||||
void update();
|
||||
|
||||
// Establece la animación correspondiente
|
||||
void setAnimation();
|
||||
|
||||
// Comprueba si el globo tiene algun tipo asignado
|
||||
bool isActive();
|
||||
// Comprueba si el globo está habilitado
|
||||
bool isEnabled();
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
int getPosX();
|
||||
float getPosX();
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
int getPosY();
|
||||
float getPosY();
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
float getVelY();
|
||||
@@ -113,9 +115,15 @@ public:
|
||||
// Establece el valor de la variable
|
||||
void setVelY(float velY);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setSpeed(float speed);
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
int getKind();
|
||||
|
||||
// Obtiene la clase a la que pertenece el globo
|
||||
Uint8 getClass();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setStop(bool state);
|
||||
|
||||
@@ -140,9 +148,6 @@ public:
|
||||
// Obtiene del valor de la variable
|
||||
bool isInvulnerable();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setBeingCreated(bool state);
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
bool isBeingCreated();
|
||||
|
||||
@@ -152,12 +157,6 @@ public:
|
||||
// Obtiene del valor de la variable
|
||||
bool isPopping();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setTimeToLive(Uint16 time);
|
||||
|
||||
// Obtiene del valor de la variable
|
||||
Uint16 getTimeToLive();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setStoppedTimer(Uint16 time);
|
||||
|
||||
@@ -168,7 +167,7 @@ public:
|
||||
Uint16 getScore();
|
||||
|
||||
// Obtiene el circulo de colisión
|
||||
Circle &getCollider();
|
||||
circle_t &getCollider();
|
||||
|
||||
// Obtiene le valor de la variable
|
||||
Uint8 getMenace();
|
||||
|
||||
Reference in New Issue
Block a user