Changed Richter Actor to RichterActor to avoid name collision with engine
-from Richter.Actor import Actor
-from Richter.Sprite import *
-
-class Richter(Actor):
- def __init__(self, **kwargs):
- Actor.__init__(self, **kwargs)
-
- self.defineState('walk_l',
- Sprite(['Sprites/Richter/richter%d.png' % n for n in range(0,8)],
- framerate=10.0, scale=2.0, gravity=(CENTER,BOTTOM)))
- self.defineState('walk_r',
- Sprite(['Sprites/Richter/richter%d.png' % n for n in range(0,8)], mirror=True,
- framerate=10.0, scale=2.0, gravity=(CENTER,BOTTOM)))
- self.defineState('idle_l',
- Sprite("Sprites/Richter/richter0.png", scale=2.0, gravity=(CENTER,BOTTOM)))
- self.defineState('idle_r',
- Sprite("Sprites/Richter/richter0.png", mirror=True, scale=2.0, gravity=(CENTER,BOTTOM)))
- self.setState('idle_r')
-
- self.delta = [0,0]
- self.jumping = False
- self.grounded = self.collideDelta((0,-1))
-
-
- def jump(self):
- if not self.jumping and self.grounded:
- self.delta[1] = 15.0
- self.jumping = True
- self.grounded = False
-
-
- def jumpCancel(self):
- self.jumping = False
- if self.delta[1] > 0.0:
- self.delta[1] = 0.0
-
-
- def bounce(self):
- self.delta[1] = -self.delta[1]
-
-
- def walkRight(self):
- self.delta[0] = 2
- self.setState('walk_r')
-
-
- def walkLeft(self):
- self.delta[0] = -2
- self.setState('walk_l')
-
-
- def idle(self):
- if self.currentstate == 'walk_l':
- self.setState('idle_l')
- else:
- self.setState('idle_r')
- self.delta[0] = 0
-
-
- def update(self):
- if self.grounded:
- self.delta[1] = 0
- else:
- if self.delta[1] > -15.0:
- self.delta[1] -= 0.5
- if self.grounded and self.delta[0] != 0:
- # 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))
+from Richter.Actor import Actor
+from Richter.Sprite import *
+
+class RichterActor(Actor):
+ def __init__(self, **kwargs):
+ Actor.__init__(self, **kwargs)
+
+ self.defineState('walk_l',
+ Sprite(['Sprites/Richter/richter%d.png' % n for n in range(0,8)],
+ framerate=10.0, scale=2.0, gravity=(CENTER,BOTTOM)))
+ self.defineState('walk_r',
+ Sprite(['Sprites/Richter/richter%d.png' % n for n in range(0,8)], mirror=True,
+ framerate=10.0, scale=2.0, gravity=(CENTER,BOTTOM)))
+ self.defineState('idle_l',
+ Sprite("Sprites/Richter/richter0.png", scale=2.0, gravity=(CENTER,BOTTOM)))
+ self.defineState('idle_r',
+ Sprite("Sprites/Richter/richter0.png", mirror=True, scale=2.0, gravity=(CENTER,BOTTOM)))
+ self.setState('idle_r')
+
+ self.delta = [0,0]
+ self.jumping = False
+ self.grounded = self.collideDelta((0,-1))
+
+
+ def jump(self):
+ if not self.jumping and self.grounded:
+ self.delta[1] = 15.0
+ self.jumping = True
+ self.grounded = False
+
+
+ def jumpCancel(self):
+ self.jumping = False
+ if self.delta[1] > 0.0:
+ self.delta[1] = 0.0
+
+
+ def bounce(self):
+ self.delta[1] = -self.delta[1]
+
+
+ def walkRight(self):
+ self.delta[0] = 2
+ self.setState('walk_r')
+
+
+ def walkLeft(self):
+ self.delta[0] = -2
+ self.setState('walk_l')
+
+
+ def idle(self):
+ if self.currentstate == 'walk_l':
+ self.setState('idle_l')
+ else:
+ self.setState('idle_r')
+ self.delta[0] = 0
+
+
+ def update(self):
+ if self.grounded:
+ self.delta[1] = 0
+ else:
+ if self.delta[1] > -15.0:
+ self.delta[1] -= 0.5
+ if self.grounded and self.delta[0] != 0:
+ # 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))
things:
player:
- class: Richter
+ class: RichterActor
properties: {position: [64,64]}
events:
collide(self, obj): |