【发布时间】:2012-12-04 04:22:28
【问题描述】:
我遇到了问题,我不知道为什么会发生这种情况以及如何解决它。我正在使用 python 和 pygame 开发视频游戏,但出现此错误:
File "/home/matt/Smoking-Games/sg-project00/project00/GameModel.py", line 15, in Update
self.imageDef=self.values[2]
TypeError: 'NoneType' object has no attribute '__getitem__'
代码:
import pygame,components
from pygame.locals import *
class Player(components.Entity):
def __init__(self,images):
components.Entity.__init__(self,images)
self.values=[]
def Update(self,events,background):
move=components.MoveFunctions()
self.values=move.CompleteMove(events)
self.imageDef=self.values[2]
self.isMoving=self.values[3]
def Animation(self,time):
if(self.isMoving and time==1):
self.pos+=1
if (self.pos>(len(self.anim[self.imageDef])-1)):
self.pos=0
self.image=self.anim[self.imageDef][self.pos]
你能解释一下这个错误是什么意思以及为什么会发生这样我就可以修复它吗?
【问题讨论】:
-
不知何故
self.values设置为无。move.CompleteMove应该做什么?它返回什么值? -
还要注意任何没有return语句的函数都会返回
None,所以请仔细检查这种情况。