Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python';s列表对象不允许更改索引值_Python_List_Vector_Pygame - Fatal编程技术网

Python';s列表对象不允许更改索引值

Python';s列表对象不允许更改索引值,python,list,vector,pygame,Python,List,Vector,Pygame,我正在使用Python和Pygame创建我的第一个游戏。它由落在地上的物体和由接住它们的玩家控制的物体组成。 然而,当坠落物体撞击地面时,它给了我一个例外: Traceback (most recent call last): File "/home/me/Chest/game.py", line 79, in <module> resetShirtPosition() File "/home/me/Chest/game.py", line 35, in resetS

我正在使用Python和Pygame创建我的第一个游戏。它由落在地上的物体和由接住它们的玩家控制的物体组成。 然而,当坠落物体撞击地面时,它给了我一个例外:

Traceback (most recent call last):
  File "/home/me/Chest/game.py", line 79, in <module>
    resetShirtPosition()
  File "/home/me/Chest/game.py", line 35, in resetShirtPosition
    shirtPosition[0] = random.randint(0, DISPLAY_WIDTH - shirt_size[0])
TypeError: 'tuple' object does not support item assignment

我已经发布了我所有的代码,因为我也希望你能给我一些技巧来改进它,从代码编写到提高性能技巧。例如,我正在考虑将我的图像放入字典中,并按其键(名称)获取它们。谢谢。

在下面的一行:

shirtPosition = (shirtPosition[0], shirtPosition[1] + dY)
您已将shirtPosition重新指定为元组,这导致了您的问题。
请将其转换为列表对象,您的问题将得到解决。

shirtPosition从列表开始,但您将其重新分配给onGame循环中的一个元组。@DanielRoseman我明白了。所以一旦我用一个元组赋值,它就不会转换回来?但是为什么chestPosition的情况不一样呢?访问此访问以获取改进的提示和建议。我不明白为什么你认为它应该转化为任何东西。chestPosition没有这个问题的原因是,您没有一个等效的方法来重置试图改变它的ShirtPosition。
shirtPosition = (shirtPosition[0], shirtPosition[1] + dY)