以前に投稿したことは知っていますが、今回はコードのすべての基本を実際にメッシュ化して、クラスについての理解を深めたいと思っています。私はクラスに非常に不慣れなので、これの多くは本当にばかげたものになるでしょう。これが私のコードです
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()
メインループの開始時
そして私のブリットは
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が定義されていないと表示されます。
答えはかなり簡単だと思いますが、楽しみにしています。
ありがとうございました