Fengx1n's picture
Initial DEMO
e53fda1
raw
history blame contribute delete
940 Bytes
class JumpTrait:
def __init__(self, entity):
self.verticalSpeed = -12
self.jumpHeight = 120
self.entity = entity
self.initalHeight = 384
self.deaccelerationHeight = self.jumpHeight - ((self.verticalSpeed*self.verticalSpeed)/(2*self.entity.gravity))
def jump(self, jumping):
if jumping:
if self.entity.onGround:
self.entity.vel.y = self.verticalSpeed
self.entity.inAir = True
self.initalHeight = self.entity.rect.y
self.entity.inJump = True
self.entity.obeyGravity = False # always reach maximum height
if self.entity.inJump:
if (self.initalHeight-self.entity.rect.y) >= self.deaccelerationHeight or self.entity.vel.y == 0:
self.entity.inJump = False
self.entity.obeyGravity = True
def reset(self):
self.entity.inAir = False