我是 Python 新手并且正在自学,因此需要很多帮助。我正在尝试利用 John Zelle 编写的 graphics.py 包来一次显示、绘制和移动多个图像对象。
我有一个类 Enemy 对象,它接受速度,startX 位置和 startY 位置。我在这个类中还有一个 move 方法,它将获取 startX 位置并将其添加到速度中。
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()
图像对象不移动。我在这里做错了什么?