treball en curs: correccions de tidy
This commit is contained in:
@@ -7,161 +7,85 @@ class Texture;
|
||||
|
||||
// Clase MovingSprite. Añade posicion y velocidad en punto flotante
|
||||
class MovingSprite : public Sprite {
|
||||
public:
|
||||
explicit MovingSprite(float x = 0, float y = 0, int w = 0, int h = 0, float velx = 0, float vely = 0, float accelx = 0, float accely = 0, Texture *texture = nullptr, SDL_Renderer *renderer = nullptr); // Constructor
|
||||
|
||||
void move(); // Mueve el sprite
|
||||
void rotate(); // Rota el sprite
|
||||
virtual void update(); // Actualiza las variables internas del objeto
|
||||
void clear(); // Reinicia todas las variables
|
||||
void render() override; // Muestra el sprite por pantalla
|
||||
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
[[nodiscard]] auto getPosX() const -> float; // Obten el valor de la variable
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
[[nodiscard]] auto getPosY() const -> float; // Obten el valor de la variable
|
||||
|
||||
[[nodiscard]] auto getVelX() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getVelY() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getAccelX() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getAccelY() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getZoomW() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getZoomH() const -> float; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getAngle() const -> double; // Obten el valor de la variable
|
||||
[[nodiscard]] auto getRotate() const -> bool; // Obtiene el valor de la variable
|
||||
[[nodiscard]] auto getRotateSpeed() const -> Uint16; // Obtiene el valor de la variable
|
||||
|
||||
void setRect(SDL_Rect rect) override; // Establece la posición y el tamaño del objeto
|
||||
void setPosX(float value); // Establece el valor de la variable
|
||||
void setPosY(float value); // Establece el valor de la variable
|
||||
void setVelX(float value); // Establece el valor de la variable
|
||||
void setVelY(float value); // Establece el valor de la variable
|
||||
void setAccelX(float value); // Establece el valor de la variable
|
||||
void setAccelY(float value); // Establece el valor de la variable
|
||||
void setZoomW(float value); // Establece el valor de la variable
|
||||
void setZoomH(float value); // Establece el valor de la variable
|
||||
void setAngle(double value); // Establece el valor de la variable
|
||||
void incAngle(double value); // Incrementa el valor de la variable
|
||||
void decAngle(double value); // Decrementa el valor de la variable
|
||||
|
||||
void setRotate(bool value); // Establece el valor de la variable
|
||||
void setRotateSpeed(int value); // Establece el valor de la variable
|
||||
void setRotateAmount(double value); // Establece el valor de la variable
|
||||
void disableRotate(); // Quita el efecto de rotación y deja el sprite en su angulo inicial.
|
||||
void switchRotate(); // Cambia el sentido de la rotación
|
||||
|
||||
void setFlip(SDL_FlipMode flip); // Establece el valor de la variable
|
||||
void flip(); // Gira el sprite horizontalmente
|
||||
auto getFlip() -> SDL_FlipMode; // Obtiene el valor de la variable
|
||||
|
||||
auto getRect() -> SDL_Rect override; // Devuelve el rectangulo donde está el sprite
|
||||
|
||||
void undoMove(); // Deshace el último movimiento
|
||||
void undoMoveX(); // Deshace el último movimiento en el eje X
|
||||
void undoMoveY(); // Deshace el último movimiento en el eje Y
|
||||
void clearVel(); // Pone a cero las velocidades de desplacamiento
|
||||
|
||||
[[nodiscard]] auto getIncX() const -> int; // Devuelve el incremento en el eje X en pixels
|
||||
|
||||
protected:
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
float x; // Posición en el eje X (sub-pixel; Sprite::x es int)
|
||||
float x_; // Posición en el eje X (sub-pixel; Sprite::x_ es int)
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
float y; // Posición en el eje Y (sub-pixel; Sprite::y es int)
|
||||
float y_; // Posición en el eje Y (sub-pixel; Sprite::y_ es int)
|
||||
|
||||
float xPrev; // Posición anterior en el eje X
|
||||
float yPrev; // Posición anterior en el eje Y
|
||||
float x_prev_; // Posición anterior en el eje X
|
||||
float y_prev_; // Posición anterior en el eje Y
|
||||
|
||||
float vx; // Velocidad en el eje X. Cantidad de pixeles a desplazarse
|
||||
float vy; // Velocidad en el eje Y. Cantidad de pixeles a desplazarse
|
||||
float vx_; // Velocidad en el eje X. Cantidad de pixeles a desplazarse
|
||||
float vy_; // Velocidad en el eje Y. Cantidad de pixeles a desplazarse
|
||||
|
||||
float ax; // Aceleración en el eje X. Variación de la velocidad
|
||||
float ay; // Aceleración en el eje Y. Variación de la velocidad
|
||||
float ax_; // Aceleración en el eje X. Variación de la velocidad
|
||||
float ay_; // Aceleración en el eje Y. Variación de la velocidad
|
||||
|
||||
float zoomW{1}; // Zoom aplicado a la anchura
|
||||
float zoomH{1}; // Zoom aplicado a la altura
|
||||
float zoom_w_{1}; // Zoom aplicado a la anchura
|
||||
float zoom_h_{1}; // Zoom aplicado a la altura
|
||||
|
||||
double angle{0.0}; // Angulo para dibujarlo
|
||||
bool rotateEnabled{false}; // Indica si ha de rotar
|
||||
int rotateSpeed{0}; // Velocidad de giro
|
||||
double rotateAmount{0.0}; // Cantidad de grados a girar en cada iteración
|
||||
int counter{0}; // Contador interno
|
||||
SDL_Point *center{nullptr}; // Centro de rotación
|
||||
SDL_FlipMode currentFlip{SDL_FLIP_NONE}; // Indica como se voltea el sprite
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
explicit MovingSprite(float x = 0, float y = 0, int w = 0, int h = 0, float velx = 0, float vely = 0, float accelx = 0, float accely = 0, Texture *texture = nullptr, SDL_Renderer *renderer = nullptr);
|
||||
|
||||
// Mueve el sprite
|
||||
void move();
|
||||
|
||||
// Rota el sprite
|
||||
void rotate();
|
||||
|
||||
// Actualiza las variables internas del objeto
|
||||
virtual void update();
|
||||
|
||||
// Reinicia todas las variables
|
||||
void clear();
|
||||
|
||||
// Muestra el sprite por pantalla
|
||||
void render() override;
|
||||
|
||||
// Obten el valor de la variable
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
[[nodiscard]] auto getPosX() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
// cppcheck-suppress duplInheritedMember
|
||||
[[nodiscard]] auto getPosY() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getVelX() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getVelY() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getAccelX() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getAccelY() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getZoomW() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getZoomH() const -> float;
|
||||
|
||||
// Obten el valor de la variable
|
||||
[[nodiscard]] auto getAngle() const -> double;
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
[[nodiscard]] auto getRotate() const -> bool;
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
[[nodiscard]] auto getRotateSpeed() const -> Uint16;
|
||||
|
||||
// Establece la posición y el tamaño del objeto
|
||||
void setRect(SDL_Rect rect) override;
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setPosX(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setPosY(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setVelX(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setVelY(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setAccelX(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setAccelY(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setZoomW(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setZoomH(float value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setAngle(double value);
|
||||
|
||||
// Incrementa el valor de la variable
|
||||
void incAngle(double value);
|
||||
|
||||
// Decrementa el valor de la variable
|
||||
void decAngle(double value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setRotate(bool value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setRotateSpeed(int value);
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setRotateAmount(double value);
|
||||
|
||||
// Quita el efecto de rotación y deja el sprite en su angulo inicial.
|
||||
void disableRotate();
|
||||
|
||||
// Cambia el sentido de la rotación
|
||||
void switchRotate();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setFlip(SDL_FlipMode flip);
|
||||
|
||||
// Gira el sprite horizontalmente
|
||||
void flip();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
auto getFlip() -> SDL_FlipMode;
|
||||
|
||||
// Devuelve el rectangulo donde está el sprite
|
||||
auto getRect() -> SDL_Rect override;
|
||||
|
||||
// Deshace el último movimiento
|
||||
void undoMove();
|
||||
|
||||
// Deshace el último movimiento en el eje X
|
||||
void undoMoveX();
|
||||
|
||||
// Deshace el último movimiento en el eje Y
|
||||
void undoMoveY();
|
||||
|
||||
// Pone a cero las velocidades de desplacamiento
|
||||
void clearVel();
|
||||
|
||||
// Devuelve el incremento en el eje X en pixels
|
||||
[[nodiscard]] auto getIncX() const -> int;
|
||||
double angle_{0.0}; // Angulo para dibujarlo
|
||||
bool rotate_enabled_{false}; // Indica si ha de rotar
|
||||
int rotate_speed_{0}; // Velocidad de giro
|
||||
double rotate_amount_{0.0}; // Cantidad de grados a girar en cada iteración
|
||||
int counter_{0}; // Contador interno
|
||||
SDL_Point *center_{nullptr}; // Centro de rotación
|
||||
SDL_FlipMode current_flip_{SDL_FLIP_NONE}; // Indica como se voltea el sprite
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user