diff --git a/Untitled-1.py.py b/Untitled-1.py.py index ddde6b8..72cbe74 100644 --- a/Untitled-1.py.py +++ b/Untitled-1.py.py @@ -1,7 +1,6 @@ import pygame from pygame import locals import random -import json pygame.init() # 初始化 @@ -16,7 +15,7 @@ class Block(pygame.sprite.Sprite): # 障碍物精灵类 self.rect.x = 1000 self.rect.y = 500 - self.rect.height self.score = 1 - pygame.init() # 初始化 + class Player(pygame.sprite.Sprite): # 悟空 def __init__(self, image): super().__init__() @@ -26,16 +25,17 @@ class Player(pygame.sprite.Sprite): # 悟空 self.rect = self.image.get_rect() self.rect.x = 150 self.rect.y = 400 + # 创建一个窗口 screen = pygame.display.set_mode((1000, 600)) FPS = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数) pygame.display.set_caption("悟空酷跑") # 载入图片 -background = pygame.image.load('bg.png') # 背景 -road = pygame.image.load('road.png') # 路 -stone = pygame.image.load('stone.png') # 石头 -cacti = pygame.image.load('cacti.png') # 仙人掌 -apple = pygame.image.load('bush.png') # 灌木丛 +background = pygame.image.load('bg.png') # 背景 +road = pygame.image.load('road.png') # 路 +stone = pygame.image.load('stone.png') # 石头 +cacti = pygame.image.load('cacti.png') # 仙人掌 +bush = pygame.image.load('bush.png') # 灌木丛 hero = [pygame.image.load('hero1.png'), pygame.image.load('hero2.png'), pygame.image.load('hero3.png'), @@ -43,6 +43,7 @@ hero = [pygame.image.load('hero1.png'), pygame.image.load('hero5.png')] score_audio = pygame.mixer.Sound('score.wav') basic_font = pygame.font.Font('STKAITI.TTF', 18) # 字体 + index = 0 y = 400 jumpState = "runing" @@ -54,7 +55,7 @@ gamestate = True score = 0 old_score = score -block_list = pygame.sprite.Group() # 创建精灵组 +block_list = pygame.sprite.Group() # 创建精灵组 while True: for event in pygame.event.get(): @@ -66,24 +67,44 @@ while True: if event.key == locals.K_SPACE: jumpState = "up" - wukong = hero[index] - index += 1 - if index == 5: - index = 0 + # 悟空造型 + wukong = Player(hero[index]) + if jumpState == "runing": # 跑步状态下 + index += 1 + if index >= 5: + index = 0 - # 将背景图画上去 - bg_x -= 1 + if gamestate == True: + if jumpState == "up": # 起跳状态 + if t > 0: + y -= t + wukong.rect.y = y + t -= 2 + else: + jumpState = "down" + if jumpState == "down": # 降落状态 + if t <= 30: + y += t + wukong.rect.y = y + t += 2 + else: + jumpState = "runing" + t = 30 + + # 将背景图画上去 + bg_x -= 1 if bg_x <= -1000: bg_x = 0 - screen.blit(background, (bg_x, 0)) + screen.blit(background, (bg_x, 0)) # 远景 - road_x -= 8 + road_x -= 8 if road_x <= -1000: road_x = 0 - screen.blit(road_x, 500)) - screen.blit(wukong.inage,(150,y)) + screen.blit(road, (road_x, 500)) # 道路 + + screen.blit(wukong.image, (150, y)) # 悟空 - time += 1 + time += 1 if time >= 60: # 创建障碍物精灵 time = 0 num = random.randint(0, 50) @@ -110,4 +131,4 @@ while True: # 刷新画面 pygame.display.update() - FPS.tick(60) \ No newline at end of file + FPS.tick(60) \ No newline at end of file