我正在使用python和tkinter進行比賽。到目前爲止,它有很好的發展,就像我有運動,射擊......很好的拍攝。我能夠創造子彈並將其移向我想要的方向。但是,我想在他們離開屏幕時將其刪除。這是我遇到麻煩的部分。下面是我拍攝的代碼(這勢必鼠標左鍵)和我的移動代碼: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'對象不可迭代「
我不確定這是什麼意思,並且拍攝實際上不適用於此。不過,它在我嘗試刪除子彈之前就起作用了。我真的很感激任何人的幫助。 謝謝
您確定要x1> 1200而不是x1 <1200嗎?我想你會希望子彈在仍然在屏幕上時移動。現在看起來你一旦被觸發就會刪除每一顆子彈。 – ecline6
woops good catch。現在他們實際上移動了,但是當他們達到1200時,我得到和以前一樣的錯誤 –
我認爲jwygralak的答案在下面是對於NoneType – ecline6