|

楼主 |
发表于 2020-8-20 16:24:58
|
显示全部楼层
本帖最后由 还差几 于 2020-8-20 16:28 编辑
class Bullet3(pygame.sprite.Sprite):
def __init__(self,position):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load('images/bullet1.png').convert_alpha()
self.rect=self.image.get_rect()
self.rect.left,self.rect.top=position
self.uspeed=12
self.active=False
self.mask=pygame.mask.from_surface(self.image)
direction = -1#这里明明已经定义
def move(self):
global direction
direction+=1#但在这却报错 NameError: name 'direction' is not defined 名称错误:未定义名称“direction”
lspeed=(1,1,2,2,3,3,4,5,5,6,6,7,7,8,8,9,10,10,11,12,12,11,10,10,9,8,8,7,7,6,6,5,5,4,3,3,2,2,1,1)
self.rect.top -=self.uspeed
self.rect.left += lspeed[direction%40]#还有这,同上
if self.rect.top<0|self.rect.left<0:
self.active=False
def reset(self,position):
self.rect.left,self.rect.top=position
self.active=True |
|