[英]TypeError: unsupported operand type(s) for +=: 'int' and 'list' with Pygame
[英]in pygame i have that problem: unsupported operand type(s) for +=: 'int' and 'list'
class Nave(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('images/nave.png')
self.rect = self.image.get_rect()
self.rect.centerx = width / 2
self.rect.centery = height / 2
self.speed = [0,0]
def move(self,time,keys):
if self.rect.right >= 0 :
if keys[K_RIGHT]:
self.rect.centerx += self.speed * time
if self.rect.left <= width:
if keys[K_LEFT]:
self.rect.centerx -= self.speed * time
在 function 移动中,在第 3 行"self.rect.centerx += self.speed * time"
控制台告诉我:
类型错误:+= 不支持的操作数类型:“int”和“list”
self.speed
是一个列表:
self.speed = [0,0]
您必须解决列表中的一个元素(例如self.speed[0]
而不是self.speed
):
self.rect.centerx += self.speed[0] * time
self.speed 是一个列表,您不能将 list 和 int 添加在一起。
self.rect.centerx += self.speed[0] * time
像这样使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.