40 lines
1018 B
C++
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();
|
|
}; |