上传文件至 ''

This commit is contained in:
206530235 2021-06-24 11:37:00 +08:00
parent af2dccbf55
commit 81c60ea4dc
2 changed files with 30 additions and 27 deletions

View File

@ -34,18 +34,18 @@ def run_game():
# 开始游戏主循环 # 开始游戏主循环
while True: while True:
# 监视键盘和鼠标事件 # 监视键盘和鼠标事件
gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets) gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
if stats.game_active: if stats.game_active:
# 移动飞船 # 移动飞船
gf.update_ship(ship) gf.update_ship(ship)
# 更新子弹位置 # 更新子弹位置
gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)
# 更新外星人 # 更新外星人
gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets)
# 更新屏幕 # 更新屏幕
gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
run_game() run_game()

View File

@ -2,30 +2,33 @@ import pygame
from pygame.sprite import Sprite from pygame.sprite import Sprite
import time import time
class Bullet(Sprite): class Bullet(Sprite):
'''飞船子弹进行管理''' '''飞船子弹进行管理'''
def __init__(self,ai_settings,screen,ship): def __init__(self, ai_settings, screen, ship):
super(Bullet,self).__init__() super(Bullet, self).__init__()
self.screen = screen
# 创建子弹矩形初始位置0,0,3,15分别对应leftop self.screen = screen
self.rect = pygame.Rect(0,0,
ai_settings.bullet_width, ai_settings.bullet_height)
self.rect.centerx = ship.rect.centerx # 设置中心点x轴坐标跟飞船一致 # 创建子弹矩形初始位置0,0,3,15分别对应leftop
self.rect.top = ship.rect.top # 设置y轴坐标顶部跟飞船一致 self.rect = pygame.Rect(0, 0,
ai_settings.bullet_width, ai_settings.bullet_height)
# 设置成小数进行计算 self.rect.centerx = ship.rect.centerx # 设置中心点x轴坐标跟飞船一致
self.top = float(self.rect.top) self.rect.top = ship.rect.top # 设置y轴坐标顶部跟飞船一致
self.color = ai_settings.bullet_color # 设置成小数进行计算
self.speed_factor = ai_settings.bullet_speed_factor self.top = float(self.rect.top)
self.color = ai_settings.bullet_color
self.speed_factor = ai_settings.bullet_speed_factor
def update(self): def update(self):
self.top -=self.speed_factor self.top -= self.speed_factor
self.rect.top = self.top
print(self.rect.top) self.rect.top = self.top
print(self.rect.top)
def draw_bullet(self): def draw_bullet(self):
pygame.draw.rect(self.screen,self.color,self.rect) pygame.draw.rect(self.screen, self.color, self.rect)