飞机大战Python程序定义.pdfVIP

  • 1
  • 0
  • 约6.35千字
  • 约 10页
  • 2021-11-07 发布于福建
  • 举报
import pygame from plane_sprites import * class PlaneGame(object ): # 初始化 开始游戏类方法 启动游戏 def __init__ ( self ): # 创建窗口 时钟 调用创建精灵方法 self .screen = pygame.display.set_mode(SCREEN_RECT.size) self .clock = pygame.time.Clock() self .__create_spites() pygame.time.set_timer(CREATE_ENEMY_EVENT, 1000) pygame.time.set_timer(HERO_FIRE_EVENT, 500) # 添加精灵 def __create_spites( self ): # 背景精灵 bg1 = BackGroup() bg2 = BackGroup( True ) self .back_ground = pygame.sprite.Group(bg1, bg2) # 敌机精灵 self .enemy_group = pygame.sprite.Group() # 英雄精灵 self .hero = Hero() self .hero_group = pygame.sprite.Group( self .hero) # 监听 def __event_handler( self ): # 关闭×退出游戏 for event in pygame.event.get(): if event.type == pygame.QUIT: PlaneGame.__Gameover() elif event.type == CREATE_ENEMY_EVENT: # 创建敌机 d enemy = Enemy() self .enemy_group.add(enemy) elif event.type == HERO_FIRE_EVENT: self .hero.fire() # 按键 keys_pressed = pygame.key.get_pressed() if keys_pressed[pygame.K_RIGHT]: self .hero.speed = 2 elif keys_pressed[pygame.K_LEFT]: self .hero.speed = - 2 else : self .hero.speed = 0 #碰撞检测 def __check_collide( self ): pygame.sprite.groupcollide( self .hero.bullets, self .enemy_group, True , True ) enemys = pygame.sprite.spritecollide( self .hero, self .enemy_g

文档评论(0)

1亿VIP精品文档

相关文档