Files
demo5_sprites_bouncing/source/ball.h
2025-03-24 12:48:32 +01:00

40 lines
1018 B
C++

#pragma once
#include "sprite.h"
#include "texture.h"
#include "defines.h"
class Ball
{
private:
Sprite *sprite_; // Sprite para pintar la clase
float x_; // Posición x
float y_; // Posición y
int w_; // Ancho
int h_; // Alto
float vx_, vy_; // Velocidad
float gravity_force_; // Gravedad
Color color_; // Color de la pelota
bool on_floor_; // Indica si la pelota está ya en el suelo
bool stopped_; // Indica si la pelota ha terminado de moverse;
float loss_; // Coeficiente de rebote. Pérdida de energía en cada rebote
public:
// Constructor
Ball(float x, float vx, float vy, Color color, Texture *texture);
// Destructor
~Ball();
// Actualiza la lógica de la clase
void update();
// Pinta la clase
void render();
// Modifica la velocidad
void modVel(float vx, float vy);
// Cambia la gravedad
void switchGravity();
};