したがって、長方形のランダムなプロパティを作成する Rectangle という名前のクラスの 10 個のインスタンスを追加することになっているプログラムがあります。リストから複数のオブジェクトを印刷すると、それらは異なる値として表示されますが、複数に対して持っている描画関数を呼び出すと、画面に表示されるのは 1 つだけです。
コード全体は次のとおりです。http://pastebin.com/hb6LBjss
ここで重要なコードは次のとおりです。1 つ目は矩形クラス、2 つ目は空のリストに矩形を 10 回追加するもの、3 つ目はメイン プログラム ループ内にあり、10 個すべてを描画することになっています。
ありがとう。
1.
class Rectangle():
x = random.randrange(0, 701)
y = random.randrange(0, 501)
width = random.randrange(20,71)
height = random.randrange(20,71)
change_x = random.randrange(-3,4)
change_y = random.randrange(-3,4)
def move(self):
self.x += self.change_x
self.y += self.change_y
def draw(self):
pygame.draw.rect(screen, green, [self.x,self.y, self.width, self.height], 0)
2.
myList = []
for i in range(10):
myList.append(Rectangle())
3.
for i in myList:
i.draw()
このようなさまざまなことを試してみましたが、画面に四角形が1つしかありません。
for i in range(10):
x = myList[i]
x.draw()