if self.entity_skin.animation.vector is not 0:
self.vector[1] += (
-self.entity_skin.animation.vector[1]
* config['JUMPHEIGHT']
* dt
)
self.vector[0] += (
self.entity_skin.animation.vector[0]
* config['JUMPHEIGHT']
* dt
)
# Gravity
if self.gravity :#and not self.onGround:
self.vector[1] += (config['GRAVITY']) * dt
les sauts et la gravité sont gérés là, la gravité semble pas dépendante des fps, mais les sauts oui... je comprends pas...
(dt=différence de temps avec la frame précédente)
le frottement de l'air
# Application of air friction.
self.vector[0] -= config['AIR_FRICTION'] * self.vector[0] * dt
self.vector[1] -= config['AIR_FRICTION'] * self.vector[1] * dt
... et le vecteur est appliqué juste après comme ça:
# apply the vector to entity.
self.move ((self.vector[0] * dt, self.vector[1] * dt), 'vector')
(ouais je néglige la poussé d'archimède, je sais c'est honteux...:rolleyes:)