Recordad que un objeto cae a 9,81 m/s en la tierra por su gravedad. hecho un sistema parecido cambiado un poco la realidad XD
Y el sistema de salto lo he hecho parecido pero invertido.
VIDEO: HD
fisica.hpp
Código
#ifndef _FISICAHPP_ #define _FISICAHPP_ using namespace std; #include "fisica.hpp" class Gravedad { private: float Intensidad; float Fuerza; float Tiempo; public: Gravedad(); bool State(float fps); float GetFuerza(); void Reset(); }; class Salto { private: float Intensidad; float Fuerza; float Tiempo; public: Salto(); bool State(float fps); float GetFuerza(); void Reset(); }; #endif]
fisica.cpp
Código
#include "fisica.hpp" Gravedad::Gravedad(){ Intensidad=2.98; Fuerza=2.98; } bool Gravedad::State(float fps){ Tiempo = Tiempo+(1000/fps); if(Tiempo>100){ Tiempo=0; Fuerza=Fuerza+Intensidad; return true; } return false; } float Gravedad::GetFuerza(){ return Fuerza; } void Gravedad::Reset(){ Fuerza=0; } Salto::Salto(){ Intensidad=2.98; Fuerza=12; } bool Salto::State(float fps){ Tiempo = Tiempo+(1000/fps); if(Tiempo>100){ Tiempo=0; Fuerza=Fuerza-Intensidad; if(Fuerza<0)Fuerza=0; return true; } return false; } float Salto::GetFuerza(){ return Fuerza; } void Salto::Reset(){ Fuerza=12; }