import pygame from random import randint person_number = 4 persons = ["images/person_%02d.png" % person_number for person_number in xrange(1, person_number + 1) ] class Person: def __init__(self, screen_w, screen_h, unit, speed): self.unit = unit self.speed = speed self.image = pygame.image.load(persons[randint(0, person_number - 1)]) self.image_rect = self.image.get_rect() size_reduction = 20*unit self.collision_rect = pygame.Rect( self.image_rect.left + size_reduction, \ self.image_rect.top + size_reduction, \ self.image_rect.width - size_reduction, \ self.image_rect.height - size_reduction) #self.position = [ 0, randint(0, screen_h -1)] self.position = [ 0, randint(75, screen_h - 75)] self.screen_h = screen_h self.screen_w = screen_w def update(self): image_center = self.image.get_width()/2 # Move the person self.position = [ (self.position[0] + self.speed ), self.position[1] ] def draw(self, on_surface): on_surface.blit(self.image, self.position) def died(self): return self.position[0] > self.screen_w def draw_alert(self, on_surface): on_surface.blit(self.alert_image, self.position) def get_absolute_rect(self): return self.collision_rect.move(self.position)