2017-09-24 32 views
-2

您好,我尝试让玩家在玩家指向鼠标时跟随鼠标。为了这个工作,我需要玩家的位置。这是我到目前为止我收到一条错误信息,我不能写

pos = pygame.mouse.get_pos() 
xplayer_pos= player.get_rect().centerx 
yplayer_pos= player.get_rect().centery 
angle = 360-math.atan2(pos[1]-xplayer_pos[1],pos[0]-yplayer_pos[0])*180/math.pi  
rotimage = pygame.transform.rotate(player,angle) 
rect = rotimage.get_rect(center=(xplayer_pos,yplayer_pos)) 
screen.blit(rotimage,rect) 
screen.blit(rotimage,pos) 
pygame.display.update() 

,但我得到这个消息eror

angle = 360-math.atan2(pos[1]-xplayer_pos[1],pos[0]-yplayer_pos[0])*180/math.pi 
TypeError: 'int' object has no attribute '__getitem__' 

我不明白为什么我得到林书豪我不要使用类似“什么的GetItem此消息的原因”。谢谢你的时间。

+0

有些东西不是它所期望的。我建议您将大表达式分解为尽可能最小的部分(将结果存储在临时变量中),并且定位问题的位置会更容易。 –

+1

你有'xplayer_pos = player.get_rect()。centerx',因此xplayer_pos已经是一个单一的(int)值,而不是一个元组(posli)。同上yplayer_pos。 – Evert

+1

'[]'这是代码中的__getitem__'。它会尝试在您指定的位置获取物品。 – ayhan

回答

0

player.get_rect().centerx是一个整数。 xplayer_pos[1]是没有意义的。 (__getitem__指的是[]运营商。)

相关问题