comparison skaapsteker/sprites/base.py @ 624:83569a6b3ad8

Fix StartingDoorway and velocity clamping.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 07 May 2011 14:40:04 +0200
parents 65881746dc20
children
comparison
equal deleted inserted replaced
623:65881746dc20 624:83569a6b3ad8
435 blocks = False 435 blocks = False
436 actionable = True 436 actionable = True
437 437
438 image_file = 'torii.png' 438 image_file = 'torii.png'
439 439
440 def __init__(self, pos, **opts):
441 super(Doorway, self).__init__(pos, **opts)
442 self.tile_pos = pos
440 443
441 def setup_image_data(self, pos, **opts): 444 def setup_image_data(self, pos, **opts):
442 super(Doorway, self).setup_image_data(pos, **opts) 445 super(Doorway, self).setup_image_data(pos, **opts)
443 self.image = pygame.transform.scale(self.image, self.image.get_rect().center) 446 self.image = pygame.transform.scale(self.image, self.image.get_rect().center)
444 self.rect = self.image.get_rect(midbottom=self.rect.midbottom) 447 self.rect = self.image.get_rect(midbottom=self.rect.midbottom)
445 self.collide_rect = self.rect 448 self.collide_rect = self.rect
446 449
447
448 def setup(self, facing, leadsto): 450 def setup(self, facing, leadsto):
449 self.facing = facing 451 self.facing = facing
450 self.leadsto = leadsto 452 self.leadsto = leadsto
451 453
452
453 def player_action(self, player): 454 def player_action(self, player):
454 from .. import engine, levelscene 455 from .. import engine, levelscene
455 engine.ChangeScene.post((levelscene.LevelScene, self.leadsto)) 456 engine.ChangeScene.post((levelscene.LevelScene, self.leadsto))
457
458 def get_tile_pos(self):
459 return self.tile_pos
456 460
457 461
458 462
459 class CelestialDoorway(Doorway): 463 class CelestialDoorway(Doorway):
460 def player_action(self, player): 464 def player_action(self, player):
474 self.rect = self.image.get_rect(midbottom=tile_midbottom(pos)) 478 self.rect = self.image.get_rect(midbottom=tile_midbottom(pos))
475 self.collide_rect = self.rect.move(0, 0) 479 self.collide_rect = self.rect.move(0, 0)
476 480
477 481
478 def setup(self, facing): 482 def setup(self, facing):
479 Doorway.setup(self, facing, None) 483 super(StartingDoorway, self).setup(facing, None)
484
485 def player_action(self, player):
486 pass
480 487
481 488
482 class Skeleton(GameSprite): 489 class Skeleton(GameSprite):
483 mobile = False 490 mobile = False
484 gravitates = False 491 gravitates = False