0
私は、プレーヤーplayer2の内部でplayer1で作られたself.rect.xを使用しようとしています。このコードは、プレーヤー2がプレーヤー1を追うようにするためのものです。以下は、私の現在のコードがどのように見えるかを大まかにまとめたものです。クラスのpygame.rectを別のクラスの中で使用する
class player1 (pygame.sprite.Sprite)
def __init__ (self,x,y):
#creates img, rect, x and y
class player 2 (pyagme.sprite.Sprite)
def __init__ (self,x,y)
#repeats process
def chase (self):
self.rect.x += self.change_x
self.rect.y += self.change_y
dx = self.rect.x - player1.rect.x
dy = self.rect.y - player1.rect.y
dist = math.hypot(dx,dy)
dx = dx/dist
dy = dy/dist
self.rect.x += dx * self.change_x
self.rect.y += dx * self.change_y
返信ありがとう!私は変更を追加して動作するように見えましたが、残念ながら私は動作するように追跡コードを取得できませんでした。だから代わりに、私はgame2ループに 'global player1'を入れて、player2のループでそれを使用できるようにしてから、player1のxとyよりも大きいか小さいかによって+と--player2s xとyを使用することにしました。 –
OK。たぶんあなたは、最初の試行でチェイスコードがうまくいかなかった理由(または別の質問)を投稿することができます。私たちは助けてくれるかも'global player1'を追加することは確実に動作しますが、Pythonコーディングではベストプラクティスではありません。 –