Fixed slope walking dynamics
if self.grounded:
self.delta[1] = 0
else:
- self.delta[1] -= 0.5
- # Climb up inclines (visually poetic, is it not?)
+ if self.delta[1] > -15.0:
+ self.delta[1] -= 0.5
if self.grounded and self.delta[0] != 0:
- delta = list(self.delta)
- if self.collideDelta(delta):
- for i in range(0,abs(delta[0])):
- delta[1] += 1
+ # Climb up inclines (visually poetic, is it not?)
+ if self.collideDelta(self.delta):
+ delta = list(self.delta)
+ for delta[1] in range(1, abs(delta[0]) + 1):
if not self.collideDelta(delta):
self.delta = delta
break
+ # ... and walk down slopes
+ else:
+ self.delta[1] = -abs(self.delta[0])
self.move(self.delta)
self.grounded = self.collideDelta((0,-1))