“tuple”对象不可调用(python)
这是我第一次玩snake,它给了我一个错误:ln 21,更新中 self.rect.centerx+=self.direction0*2,“tuple”对象不可调用。“tuple”对象不可调用(python),python,Python,这是我第一次玩snake,它给了我一个错误:ln 21,更新中 self.rect.centerx+=self.direction0*2,“tuple”对象不可调用。 我已经找到了答案,但我似乎没有找到我的问题,我不知道“tuple”是什么意思,完整的游戏代码如下: import pygame from pygame.locals import * class SnakeHead(object): def __init__(self): self.image = py
我已经找到了答案,但我似乎没有找到我的问题,我不知道“tuple”是什么意思,完整的游戏代码如下:
import pygame
from pygame.locals import *
class SnakeHead(object):
def __init__(self):
self.image = pygame.image.load('data/snake_head.png')
self.rect = self.image.get_rect()
self.rect.centerx = 320
self.rect.centery = 240
self.direction = (0,-1)
self.crashed = False
def render(self, screen):
screen.blit(self.image, self.rect)
def update(self):
self.rect.centerx += self.direction(0) * 2
self.rect.centery += self.direction(1) * 2
if self.rect.left < 0:
self.rect.left = 0
self.crashed = True
if self.rect.right > 639:
self.rect.right = 639
self.crashed = True
if self.rect.top < 0:
self.rect.top = 0
self.crashed = True
if self.rect.bottom > 479:
self.rect.bottom = 479
self.crashed = True
def run_game():
pygame.init()
screen = pygame.display.set_mode((640,480))
snakehead = SnakeHead()
clock = pygame.time.Clock()
while 1:
clock.tick(32)
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
return
screen.fill((175,175,175))
snakehead.update()
snakehead.render(screen)
pygame.display.flip() `
两个多小时以来,我一直在问自己这个问题是什么,但什么都找不到,如果有人能告诉我,我会非常高兴:
-这条线就是问题所在
self.rect.centerx += self.direction(0) * 2
方向是一个元组,如果你想索引,你应该这样做
self.rect.centerx += self.direction[0] * 2
我不知道“元组”是什么意思-那就查一下吧?我知道了。。。但它并没有真正给出解释。我对它还很陌生,所以请不要对我太苛刻……谢谢,为什么这些分数会得到这么多的反对票?我问的有问题吗?