0

Python2.7とPyGTK2.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)

ただし、プログラムはエラーをスローせずに起動しますが、画像は移動しません。何が起こっている?

ところで、fishmoveは0として始まります。

4

2 に答える 2

2

変数の命名に注意してください!グローバル整数fishmoveと同じ名前のメソッドがある場合、これら2つはほぼ確実に予期しない方法で干渉します。

メソッドの名前をmove_fishまたはsthに変更してみてください。

于 2011-09-18T08:28:22.703 に答える
1

私はそれを解決しました。関数の最後に「returnTrue」という行を追加する必要がありました。これが修正されたコードです。できます。

def fishmove():
   global fishmove
   if fishmove < 640:
        fishmove = fishmove + 10
        fixed_hab.move(fish1, fishmove, 50)  
        return True

gobject.timeout_add(1, fishmove)
于 2011-09-18T18:30:58.233 に答える