更新 'bullet - .py'

This commit is contained in:
206530229 2021-06-23 16:25:17 +08:00
parent 5dfeeb6472
commit 6909db39a0
2 changed files with 30 additions and 49 deletions

View File

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

30
bullet - .py Normal file
View File

@ -0,0 +1,30 @@
import pygame
from pygame.sprite import Sprite
class Bullet(Sprite):
#管理飞船所发射子弹的类
def __init__(self, ai_game):
#在飞船当前位置创建一个子弹对象
super().__init__()
self.screen = ai_game.screen
self.settings = ai_game.settings
self.color = self.settings.bullet_color
# 在00处创建一个表示子弹的矩形再设置正确的位置
self.rect = pygame.Rect(0, 0, self.settings.bullet_width,
self.settings.bullet_height)
self.rect.midtop = ai_game.ship.rect.midtop
# 储存用小数表示的子弹位置
self.y = float(self.rect.y)
def update(self):
# 更新表示子弹位置的小数值
self.y -= self.settings.bullet_speed
#更新表示子弹的rect位置
self.rect.y = self.y
def draw_bullet(self):
#在屏幕上绘制子弹
pygame.draw.rect(self.screen, self.color, self.rect)