import pygame import random # 初始化游戏 pygame.init() # 设定屏幕大小 screen_width = 800 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("射击游戏") # 定义颜色 black = (0, 0, 0) # 定义玩家类 class Player(pygame.sprite.Sprite): def __init__(self): super().__init__() # 加载玩家图像 self.image = pygame.image.load("player.gif").convert() self.image.set_colorkey(black) self.rect = self.image.get_rect() def update(self): # 获取鼠标位置 pos = pygame.mouse.get_pos() self.rect.x = pos[0] self.rect.y = pos[1] # 定义敌人类 class Enemy(pygame.sprite.Sprite): def __init__(self): super().__init__() # 加载敌人图像 self.image = pygame.image.load("sb.gif").convert() self.image.set_colorkey(black) self.rect = self.image.get_rect() self.rect.x = random.randint(0, screen_width - self.rect.width) self.rect.y = random.randint(-100, -40) self.speed = random.randint(1, 3) def update(self): self.rect.y += self.speed if self.rect.y > screen_height: self.rect.x = random.randint(0, screen_width - self.rect.width) self.rect.y = random.randint(-100, -40) self.speed = random.randint(1, 3) # 创建玩家对象 player = Player() # 创建敌人组 enemies = pygame.sprite.Group() for i in range(10): enemy = Enemy() enemies.add(enemy) # 游戏主循环 running = True clock = pygame.time.Clock() while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 清屏 screen.fill(black) # 更新玩家和敌人 player.update() enemies.update() # 绘制玩家和敌人 screen.blit(player.image, player.rect) enemies.draw(screen) # 刷新屏幕 pygame.display.flip() # 控制帧率 clock.tick(60) # 结束游戏 pygame.quit()
py射击游戏代码(角色图片自己加)
最新推荐文章于 2024-05-03 03:21:12 发布