我在Python 2.7和PyGTK 2.24中有一个项目。我使用以下代码在gtk.Fixed中创建gtk.Image的动画动画。
def fishmove():
global fishmove
if fishmove < 640:
fishmove = fishmove + 10
fixed_hab.move(fish1, fishmove, 50)
gobject.timeout_add(1, fishmove)
然而,当程序出现而没有丢失任何错误时,图像不会移动。发生了什么事?
BTW,fishmove从0开始。答案 0 :(得分:2)
注意变量的命名!如果你有一个全局整数fishmove
和一个同名的方法,这两个几乎肯定会以某种意想不到的方式干扰!
尝试将方法重命名为move_fish
或某事。
答案 1 :(得分:1)
我解决了。我只需要在函数末尾添加“return True”行。这是固定代码。它有效。
def fishmove():
global fishmove
if fishmove < 640:
fishmove = fishmove + 10
fixed_hab.move(fish1, fishmove, 50)
return True
gobject.timeout_add(1, fishmove)