0
私は、Pythonには新しく、大学コースのためにボイドクローンを作成しようとしています。リストから複数のオブジェクトを描画する(PyGame)
#the class
class Boid:
def __init__(self, screen):
self.screen = screen
self.pos = Vector2D(random.randrange(400), random.randrange(400))
self.rad = 20
self.speed = Vector2D(-4, -4)
def draw(self):
py.draw.circle(self.screen, (255,50,50), (self.pos.x, self.pos.y), self.rad)
# adding objects to a list
self.boid = Boid(self.screen)
self.boid1 = Boid(self.screen)
self.boid2 = Boid(self.screen)
self.boidlist = [self.boid, self.boid1, self.boid2]
#in the game loop, drawing from list
for boid in boidlist:
boid.draw()
私は理解しているように、それは現在だけで三回最初のオブジェクトを描画し、(1)、BOID(2)、などBOIDない私のような何かやってみました:
for i in range(3):
boid(i).draw()
をしかし、私はすることができますエラーなく動作するようにフォーマットする方法を理解していない。 多くのご協力をいただきました!
([最小限の、完全な例]を投稿してくださいリストにオブジェクトを追加するhttp://stackoverflow.com/help/ mcve)と完全なトレースバック。他のクラスの中にインスタンス化コードがありますか? – skrx
入力いただきありがとうございます。はい、インスタンシエーションコードはゲームのメインクラス自体の中にありますが、私はそれをいくつかの微調整をしてC ._の解決策で動作させることができました。 – K0i
完全な例を投稿する必要があります。 'boidlist'を' self.boidlist'に変更するだけでした。 – skrx