我遇到問題,我不知道爲什麼會發生這種情況以及如何解決問題。我工作的發展與Python和pygame的一個視頻遊戲,我得到這個錯誤:TypeError:'NoneType'對象沒有屬性'__getitem__'
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'被設置爲None。 'move.CompleteMove'應該做什麼?它返回什麼價值? – BrenBarn
另請注意,任何沒有返回語句的函數都會返回'None',因此請仔細檢查這種情況。 – DaveP