Made lever toggle arrow block.

This commit is contained in:
Sakse Dalum
2012-08-08 17:41:19 +02:00
parent f9e7aa333f
commit 13d3aa1ce9
3 changed files with 53 additions and 11 deletions

View File

@@ -55,4 +55,38 @@ class Block(worldobject.WorldObject):
- self.level.camera_y))
class ArrowBlock(Block):
pass
def __init__(self, level, x, y, anim='arrow_up', movable=True, is_up=True):
self.__dict__.update(locals())
worldobject.WorldObject.__init__(self, level, x, y, movable=movable)
self.frame = 0
self.anim_speed = 15
self.setting = False
def activate(self, setting):
self.movable = True
if self.check_move(0, 0):
self.is_up = not setting
self.movable = False
def update(self, e, t, dt):
# Update the animation
if not self.is_up:
self.frame = min(self.frame + self.anim_speed * dt,
len(self.level.imgs[self.anim]) - 1)
else:
self.frame = max(self.frame - self.anim_speed * dt,
0)
if self.frame == len(self.level.imgs[self.anim]) - 1:
self.movable = self.blocking = False
self.z = -48
else:
self.movable = self.blocking = True
self.z = 0
worldobject.WorldObject.update(self, e, t, dt)
def draw(self, window):
self.img = self.level.imgs[self.anim][int(self.frame)]
Block.draw(self, window)