#pragma once #include "sprite.h" #include "const.h" #include "globals.h" #ifndef BULLET_H #define BULLET_H // Clase bala class Bullet { public: // Constructor Bullet(SDL_Renderer *gRenderer); // Destructor ~Bullet(); // Iniciador void init(int x, int y, int kind); // Pinta el objeto en pantalla void render(); // Actualiza la posición y estado del objeto void move(); #ifdef TEST void testMove(); #endif // Deshabilita el objeto void erase(); // Comprueba si el objeto está activo bool isActive(); // Obtiene el valor de la variable int getPosX(); // Obtiene el valor de la variable int getPosY(); // Establece el valor de la variable void setPosX(int x); // Establece el valor de la variable void setPosY(int y); // Obtiene el valor de la variable float getVelY(); // Obtiene el valor de la variable int getKind(); // Obtiene el circulo de colisión Circle &getCollider(); private: // El renderizador de la ventana SDL_Renderer *gRenderer; LTexture *gBulletTexture; // Posición X/Y del objeto int mPosX; int mPosY; // Alto y ancho el objeto Uint8 mWidth; Uint8 mHeight; // Velocidad del objeto int mVelX; int mVelY; // Tipo de objeto int mKind; // Sprite con los graficos y métodos de pintado Sprite mSprite; // Balloon's collision circle Circle mCollider; // Alinea el circulo de colisión con el objeto void shiftColliders(); }; #endif