我正在使用 python 和 tkinter 开发一款竞赛游戏。到目前为止,一切都很顺利,因为我有运动,还有射击……很好的射击。我能够创建子弹并将它们移动到我想要的方向。但是,我想在它们离开屏幕时删除它们。这就是我遇到麻烦的部分。下面是我的射击代码(绑定到鼠标左键)和我的移动代码:
def shoot(self,e):
theplayer=self.find_withtag("player")
bullet=self.create_image([self.coords(theplayer)],image=self.playerUp,tag="bullet")
self.bullets.append(bullet)
def movebullet(self):
for bullet in self.bullets:
x1,x2,y1,y2=self.bbox(bullet)
if x1>1200:
self.move(bullet,14,0)
else:
self.delete(bullet)
我认为删除代码会起作用,但它给了我一个错误,上面写着:“x1,x2,y1,y2=self.bbox(bullet) TypeError: 'NoneType' object is not iterable"
我不确定这意味着什么,而且拍摄实际上不适用于此。但是,在我尝试删除项目符号之前它起作用了。我真的很感谢任何人对此的帮助。谢谢