我是pygame的新手,尝试开发一个8位射手。我想要的是,当用户按下空间时,一颗子弹就会发射并直至撞到暴徒或窗户的边缘。这里是子弹类:将一个精灵移动到pygame中的另一个精灵
class BULLET:
def __init__(self, location):
self.pos = [0,0]
self.image = NOBULLET
self.rect = self.image.get_rect()
self.direction = 0
def move(self):
if self.rect.right >= screen.get_rect().right:
self.rect.right = self.rect.right - 10
if self.rect.left <= screen.get_rect().left:
self.rect.right = self.rect.right + 10
if self.rect.top <= screen.get_rect().top:
self.rect.top = self.rect.top + 10
if self.rect.bottom >= screen.get_rect().bottom:
self.rect.bottom = self.rect.bottom - 10
def update(self):
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if (event.key == K_SPACE and Gun.image == NOGUN):
self.pos == Player.pos()
self.direction == Player.direction
我要的是子弹去当按下空间的播放器,并在玩家面对的方向移动,直到它击中暴徒或窗口的边缘。
[编辑] 这是主要的拍摄循环:
if AMMO > 0:
if event.type == pygame.KEYDOWN and Gun.image == NOGUN:
if event.key == pygame.K_SPACE and Gun.image == NOGUN:
Bullet.direction = Player.direction
Bullet.pos == Player.pos
shot.play()
print "BANG"
AMMO = AMMO - 1
time.sleep(0.09)
Bullet.image == NOBULLET
如何设置参数 – user2493744
@ user2493744我来存储这些参数只是为你增加了一些信息 – Stephan
当我做你说的话,位置仍然是0,0,我没有键入那些cordinantes – user2493744