def __init__(self,folder_num): pygame.sprite.Sprite.__init__(self) self.folder = "../res/Sprite/Sprite"+str(folder_num) self.coll_box = Thing((self.folder+"/coll_box.png",0,0,30,5)) # Get spritesheet stuff sprite_sheet = SpriteSheet(self.folder+"/spritesheet.png") # Down facing walk sequence self.walk_d = get_frames(self.folder+"/spritesheet.png",30,47,0,4,0) # Left facing walk sequence self.walk_l = get_frames(self.folder+"/spritesheet.png",30,47,0,4,47) # Right facing walk sequence self.walk_r = get_frames(self.folder+"/spritesheet.png",30,47,0,4,47,True) # Up facing walk sequence self.walk_u = get_frames(self.folder+"/spritesheet.png",30,47,0,4,94) # Set the image the player starts with self.image = self.walk_r[1] # Set a referance to the image rect. self.rect = self.image.get_rect() self.pos_x = self.rect.x self.pos_y = self.rect.y
def CharSelect(): # Character Selection screen pygame.init() size= [constants.SCREEN_WIDTH,constants.SCREEN_HEIGHT] screen = pygame.display.set_mode(size) pygame.display.set_caption("Punks R Us") char_list = os.listdir('../res/Character') sprite_list = pygame.sprite.Group() done = False choice = 0 clock = pygame.time.Clock() count = 0 while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked close pygame.quit()# Flag that we are done so we exit this loop if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: if choice == len(char_list)-1: choice = 0 else: choice +=1 count = 0 if event.key == pygame.K_LEFT: if choice == 0: choice = len(char_list)-1 else: choice += -1 count = 0 if event.key == pygame.K_RETURN: done = scene_select(char_list[choice]) # Setup to display/"update" count += 1 mug = Thing(("../res/Character/"+char_list[choice]+"/mug.png",0,0,150,194)) mug.rect.x = 0 mug.rect.y = 80 sprite = Thing(("../res/Character/"+char_list[choice]+"/spritesheet.png",30,0,30,47)) sprite.rect.y = 110 sprite.rect.x = 240 text_box = Thing(( "../res/Character/"+char_list[choice]+"/text_box.png",0,0,640,46)) text_box.rect.x = 0 text_box.rect.y = 480-47 text_file = open("../res/Character/"+char_list[choice]+"/char_select.txt","r") lines = text_file.read().split('\n') text_file.close() fight = get_frames("../res/Character/"+char_list[choice]+"/fightsheet.png",120,100,0,int(lines[0]),0) fight_pic = animate_frame(fight,1,count) # Draw all yo shit screen.fill(constants.BLACK) # Select the font to use, size, bold, italics font = pygame.font.Font(constants.F4, 60) text = font.render('< Choose Your Player >',True,constants.WHITE) screen.blit(text, [constants.SCREEN_WIDTH/2-font.size('< Choose Your Player >')[0]/2, 15]) # Select the font to use, size, bold, italics font = pygame.font.Font(constants.F7, 20) text = font.render(lines[1],True,constants.WHITE) screen.blit(text, [360-font.size(lines[1])[0]/2,80]) sprite_list.add(mug) sprite_list.add(sprite) sprite_list.add(text_box) sprite_list.draw(screen) sprite_list.empty() screen.blit(fight_pic, [290,110]) font = pygame.font.Font(constants.F7, 12) text = font.render(lines[2],True,constants.WHITE) screen.blit(text, [constants.SCREEN_WIDTH/2-font.size(lines[2])[0]/2, 480-23-font.size(lines[2])[1]/2]) # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT # Limit to 60 frames per second clock.tick(60) # Go ahead and update the screen with what we've drawn. pygame.display.flip()
def __init__(self, char_folder): pygame.sprite.Sprite.__init__(self) ''' if character == constants.BEANIE: self.protagonist = 1 self.coll_box = Thing((constants.BEANIE_FOL+"/coll_box.png",0,0,30,5)) elif character == constants.SKUNK: self.protagonist = 2 self.coll_box = Thing((constants.SKUNK_FOL+"/coll_box.png",0,0,30,5)) ''' self.protag_folder = char_folder self.coll_box = Thing((char_folder+"/coll_box.png",0,0,30,5)) character = char_folder+"/spritesheet.png" # Down facing walk sequence self.walk_d = get_frames(character,30,47,0,4,0) # Left facing walk sequence self.walk_l = get_frames(character,30,47,0,4,47) # Right facing walk sequence self.walk_r = get_frames(character,30,47,0,4,47,True) # Up facing walk sequence self.walk_u = get_frames(character,30,47,0,4,94) # Left facing run sequence self.run_l = get_frames(character,30,47,0,6,141,False,True) ''' image = sprite_sheet.get_image(150, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(120, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(90, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(60, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(30, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(0, 141, 30, 47) self.run_l.append(image) ''' # Right facing run sequence self.run_r = get_frames(character,30,47,0,6,141,True,True) ''' image = sprite_sheet.get_image(0, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(30, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(60, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(90, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(120, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(150, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) ''' # Left facing jump sequence self.jump_l = get_frames(character,30,47,180,3,141) ''' image = sprite_sheet.get_image(180, 141, 30, 47) self.jump_l.append(image) image = sprite_sheet.get_image(210, 141, 30, 47) self.jump_l.append(image) image = sprite_sheet.get_image(240, 141, 30, 47) self.jump_l.append(image) ''' # Right facing jump sequence self.jump_r = get_frames(character,30,47,180,3,141,True) ''' image = sprite_sheet.get_image(180, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) image = sprite_sheet.get_image(210, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) image = sprite_sheet.get_image(240, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) ''' # Set the image the player starts with self.image = self.walk_r[1] # Set a referance to the image rect. self.rect = self.image.get_rect() self.rect.x = 320-self.rect.width/2 self.rect.y = 240-self.rect.height/2 self.pos_x = self.rect.x self.pos_y = self.rect.y self.coll_box.rect.x = self.pos_x self.coll_box.rect.y = self.pos_y+self.rect.height-5
def CharSelect(): # Character Selection screen pygame.init() size = [constants.SCREEN_WIDTH, constants.SCREEN_HEIGHT] screen = pygame.display.set_mode(size) pygame.display.set_caption("Punks R Us") char_list = os.listdir('../res/Character') sprite_list = pygame.sprite.Group() done = False choice = 0 clock = pygame.time.Clock() count = 0 while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked close pygame.quit() # Flag that we are done so we exit this loop if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: if choice == len(char_list) - 1: choice = 0 else: choice += 1 count = 0 if event.key == pygame.K_LEFT: if choice == 0: choice = len(char_list) - 1 else: choice += -1 count = 0 if event.key == pygame.K_RETURN: done = scene_select(char_list[choice]) # Setup to display/"update" count += 1 mug = Thing(("../res/Character/" + char_list[choice] + "/mug.png", 0, 0, 150, 194)) mug.rect.x = 0 mug.rect.y = 80 sprite = Thing( ("../res/Character/" + char_list[choice] + "/spritesheet.png", 30, 0, 30, 47)) sprite.rect.y = 110 sprite.rect.x = 240 text_box = Thing( ("../res/Character/" + char_list[choice] + "/text_box.png", 0, 0, 640, 46)) text_box.rect.x = 0 text_box.rect.y = 480 - 47 text_file = open( "../res/Character/" + char_list[choice] + "/char_select.txt", "r") lines = text_file.read().split('\n') text_file.close() fight = get_frames( "../res/Character/" + char_list[choice] + "/fightsheet.png", 120, 100, 0, int(lines[0]), 0) fight_pic = animate_frame(fight, 1, count) # Draw all yo shit screen.fill(constants.BLACK) # Select the font to use, size, bold, italics font = pygame.font.Font(constants.F4, 60) text = font.render('< Choose Your Player >', True, constants.WHITE) screen.blit(text, [ constants.SCREEN_WIDTH / 2 - font.size('< Choose Your Player >')[0] / 2, 15 ]) # Select the font to use, size, bold, italics font = pygame.font.Font(constants.F7, 20) text = font.render(lines[1], True, constants.WHITE) screen.blit(text, [360 - font.size(lines[1])[0] / 2, 80]) sprite_list.add(mug) sprite_list.add(sprite) sprite_list.add(text_box) sprite_list.draw(screen) sprite_list.empty() screen.blit(fight_pic, [290, 110]) font = pygame.font.Font(constants.F7, 12) text = font.render(lines[2], True, constants.WHITE) screen.blit(text, [ constants.SCREEN_WIDTH / 2 - font.size(lines[2])[0] / 2, 480 - 23 - font.size(lines[2])[1] / 2 ]) # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT # Limit to 60 frames per second clock.tick(60) # Go ahead and update the screen with what we've drawn. pygame.display.flip()
def __init__(self, char_folder): pygame.sprite.Sprite.__init__(self) ''' if character == constants.BEANIE: self.protagonist = 1 self.coll_box = Thing((constants.BEANIE_FOL+"/coll_box.png",0,0,30,5)) elif character == constants.SKUNK: self.protagonist = 2 self.coll_box = Thing((constants.SKUNK_FOL+"/coll_box.png",0,0,30,5)) ''' self.protag_folder = char_folder self.coll_box = Thing((char_folder + "/coll_box.png", 0, 0, 30, 5)) character = char_folder + "/spritesheet.png" # Down facing walk sequence self.walk_d = get_frames(character, 30, 47, 0, 4, 0) # Left facing walk sequence self.walk_l = get_frames(character, 30, 47, 0, 4, 47) # Right facing walk sequence self.walk_r = get_frames(character, 30, 47, 0, 4, 47, True) # Up facing walk sequence self.walk_u = get_frames(character, 30, 47, 0, 4, 94) # Left facing run sequence self.run_l = get_frames(character, 30, 47, 0, 6, 141, False, True) ''' image = sprite_sheet.get_image(150, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(120, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(90, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(60, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(30, 141, 30, 47) self.run_l.append(image) image = sprite_sheet.get_image(0, 141, 30, 47) self.run_l.append(image) ''' # Right facing run sequence self.run_r = get_frames(character, 30, 47, 0, 6, 141, True, True) ''' image = sprite_sheet.get_image(0, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(30, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(60, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(90, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(120, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) image = sprite_sheet.get_image(150, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.run_r.append(image) ''' # Left facing jump sequence self.jump_l = get_frames(character, 30, 47, 180, 3, 141) ''' image = sprite_sheet.get_image(180, 141, 30, 47) self.jump_l.append(image) image = sprite_sheet.get_image(210, 141, 30, 47) self.jump_l.append(image) image = sprite_sheet.get_image(240, 141, 30, 47) self.jump_l.append(image) ''' # Right facing jump sequence self.jump_r = get_frames(character, 30, 47, 180, 3, 141, True) ''' image = sprite_sheet.get_image(180, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) image = sprite_sheet.get_image(210, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) image = sprite_sheet.get_image(240, 141, 30, 47) image = pygame.transform.flip(image, True, False) self.jump_r.append(image) ''' # Set the image the player starts with self.image = self.walk_r[1] # Set a referance to the image rect. self.rect = self.image.get_rect() self.rect.x = 320 - self.rect.width / 2 self.rect.y = 240 - self.rect.height / 2 self.pos_x = self.rect.x self.pos_y = self.rect.y self.coll_box.rect.x = self.pos_x self.coll_box.rect.y = self.pos_y + self.rect.height - 5