本教程中的以下代码片段:http://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python
for badguy in badguys:
if badguy[0]<-64:
badguys.pop(index)
badguy[0]-=7
index+=1
for badguy in badguys:
screen.blit(badguyimg, badguy)
给我一个:
我知道这可能是因为
badguy
是一个元组。这意味着它是不可变的(您不能更改其值)我尝试了以下方法:t= list(badguy)
t[0]= t[0]-7
i+=1
我将元组转换为列表,所以我们可以减去7。但是在游戏中什么也没有发生。
有人知道我能做什么吗?
谢谢。
最佳答案
改变这个
badguy[0]-=7
进入这个
badguy = list(badguy)
badguy[0]-=7
badguy = tuple(badguy)
另外,如果您可以将
badguy
保留为list
,那么甚至不要使用元组,并且您会满意当前的代码(使用列表而不是元组的附加更改)