Tôi gặp sự cố và tôi không biết tại sao điều này xảy ra và cách khắc phục. Tôi đang làm việc trên đang phát triển một trò chơi điện tử với trăn và pygame và tôi nhận được lỗi này:TypeError: đối tượng 'NoneType' không có thuộc tính '__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__'
Mã:
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]
Bạn có thể giải thích cho tôi điều đó có nghĩa lỗi và tại sao nó lại xảy ra để tôi có thể sửa nó?
Bằng cách nào đó 'self.values' được đặt thành Không. 'Move.CompleteMove' là gì? Giá trị của nó là gì? – BrenBarn
Cũng lưu ý rằng bất kỳ hàm nào không có câu lệnh return sẽ trả về 'None', vì vậy hãy kiểm tra kỹ trường hợp này. – DaveP