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)
File "D:\python\python_work\alien_invasion\bullet1.py", line 19
def update(self):
^
SyntaxError: invalid syntax
[Finished in 78ms]
我查看了代码 和书上的一样 又找了缩进和输入法的问题, 还是显示第19 行的def有问题
不知道你这个问题是否已经解决, 如果还没有解决的话: