更新 'bullet - .py'
This commit is contained in:
parent
5dfeeb6472
commit
6909db39a0
|
@ -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)分别对应lef,top,宽,高
|
||||
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)
|
|
@ -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
|
||||
|
||||
# 在(0,0)处创建一个表示子弹的矩形,再设置正确的位置
|
||||
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)
|
Loading…
Reference in New Issue