我知道我之前发过帖子,但这次我希望能真正梳理出我的代码的所有基础知识,并希望能更好地理解类。知道我对课程非常缺乏经验,所以很多这些都是非常愚蠢的东西。这是我的代码
class Player(pygame.sprite.Sprite):
def __init__(self):
global player
pygame.sprite.Sprite.__init__(self)
self.pos=(350,200)
self.image=pygame.image.load("arrowtest.png").convert()
self.rect=self.image.get_rect()
screen=pygame.display.get_surface()
self.area=screen.get_rect()
self.speed=10
self.state="still"
self.reinit()
我有一个
player = Player()
在我的主循环开始时
我的 blit 是
screen.blit(player.image, player.pos)
我解决了这个问题,但现在我的问题是当涉及到我使用函数来调整精灵角度的部分时。在我的球员班是这个
def angleplayer(self):
mouse_pos=pygame.mouse.get_pos()
dx=mouse_pos[0]-player_x
dy=mouse_pos[1]-player_y
rads=math.atan2(-dy, dx)
rads %= 2*pi
angle = math.degrees(rads)
print angle
rot_player.image=pygame.transform.rotate(player.image, angle-90)
但是当我尝试使用它时,例如
if event.type == pygame.KEYDOWN:
angleplayer()
它说没有定义angleplayer。
我猜答案会相当简单,但很期待。
谢谢你