私はPythonが初めてで、自己学習しているため、多くの助けが必要です. 複数の画像オブジェクトを一度に表示、描画、移動するために、John Zelle によって書かれた graphics.py パッケージを利用しようとしています。
スピード、startX 位置、startY 位置を取るクラス Enemy オブジェクトがあります。このクラスには、startX の位置を取得して速度に追加する move メソッドもあります。
class Enemy(object):
def __init__(self, speed, startXpos, startYpos):
self.speed = speed
self.x = startXpos
self.y = startYpos
def move(self):
self.x += self.speed
main メソッドでは、graphics.py を使用して Enemy の Image オブジェクトを描画しました。すべての敵は同じイメージで同じ開始位置から開始しますが、敵の移動速度は異なります。
win = GraphWin("Enemy", 1000, 500)
myEnemies = []
e = Image(Point(50, 200), "enemy.gif") # use speed as y position, too
e.draw(win) # add it to the window
e2 = Image(Point(50, 200), "enemy.gif") # use speed as y position, too
e2.draw(win) # add it to the window
e3 = Image(Point(50, 200), "enemy.gif") # use speed as y position, too
e3.draw(win) # add it to the window
enemy1 = Enemy(40, 50, 0)
enemy2= Enemy(50, 50, 0)
enemy3 = Enemy(60,50, 0)
myEnemies.append((enemy1,e))
myEnemies.append((enemy2,e2))
myEnemies.append((enemy3,e3))
for i in range(40): # main animation loop
for enemy in myEnemies: # loop through the enemy list
enemy[0].move()
time.sleep(1) # wait a second...
win.close()
画像オブジェクトは移動しません。ここで何が間違っていますか?