Añadir código fuente del proyecto vibe1_delta
- Renombrar proyecto de demo5_sprites_bouncing a vibe1_delta - Actualizar CMakeLists.txt, Makefile y defines.h con nuevo nombre - Añadir código fuente C++ para simulación de sprites con física - Incluir recursos (texturas) y configuración de compilación - Crear .gitignore apropiado para proyectos C++ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
39
source/ball.h
Normal file
39
source/ball.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL3/SDL_rect.h> // for SDL_FRect
|
||||
#include <memory> // for shared_ptr, unique_ptr
|
||||
#include "defines.h" // for Color
|
||||
#include "sprite.h" // for Sprite
|
||||
class Texture;
|
||||
|
||||
class Ball
|
||||
{
|
||||
private:
|
||||
std::unique_ptr<Sprite> sprite_; // Sprite para pintar la clase
|
||||
SDL_FRect pos_; // Posición y tamaño de la pelota
|
||||
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, std::shared_ptr<Texture> texture);
|
||||
|
||||
// Destructor
|
||||
~Ball() = default;
|
||||
|
||||
// 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();
|
||||
};
|
||||
Reference in New Issue
Block a user