-1

我的游戏发射了一颗子弹,但问题是你不能射出比你投入的数量更多的子弹(imageA、imageB、imageC 等......)所以,我必须写大约 30 次“blit blah blah imageA”为每一位玩家的每一把枪。这很烦人。

有没有办法根据角色射出多少子弹来产生代码,然后产生一个代码来对它进行blit?然后,当它离开屏幕时,我可以删除该新代码。(我只是想知道如何删除,而不是当它离开屏幕时如何让它这样做,我知道。)

4

1 回答 1

2

我相信您以错误的方式解决问题。假设你有一个玩家,他有一把枪。所以我们的玩家类部分看起来像这样:

class Player
    def __init__(self):
        self.position = [0,0]
        self.bullets = []

我们还需要一个子弹类,它也会有一个位置。现在,例如,每次玩家按空格键时,您都会在列表中添加一个新项目符号。

def shoot(self):
    self.bullets += Bullet(self.position)

然后,在 while 循环中,在您绘制玩家的地方,您还需要执行一次 foreach 来绘制子弹。无需为每个子弹命名,甚至可以拥有自己的图片。

于 2013-02-28T20:40:41.893 回答