如何降低功能的执行速度

时间:2019-02-13 13:38:08

标签: python tkinter

当我应用代码时,“ attaquedeplac”功能运行得太快: 我使用了after func,但是“ attaquedeplac”运行了8次,停止并等待1000ms,然后一次又一次运行了8次。 Here完整的代码,但是我的问题在这部分:

            for a,b in attaque.items():
                #a = nom de la variable , b = objet Tkinter
                x = liste[1]
                y = liste[2]
                ajoutx = listedeco[0]
                ajouty = listedeco[1]
                compteur = 0
                def attaquedeplac():
                    global x,y,ajoutx,ajouty,compteur
                    x =x + (compteur * ajoutx)
                    y =y + (compteur * ajouty)
                    Fond.coords(b, x , y , x+ajoutx, y+ajouty)
                    compteur +=1
                    print("Tout vas bien {}".format(compteur))

                while x>40 and x<980 and y > 40 and y < 680:
                        attaquedeplac()
                        fenetre.after(1000,attaquedeplac)

输出:

Tout vas bien 1
Tout vas bien 2
Tout vas bien 3
Tout vas bien 4
Tout vas bien 5
Tout vas bien 6
Tout vas bien 7
Tout vas bien 8
<here a step>
Tout vas bien 9
Tout vas bien 10
Tout vas bien 11
Tout vas bien 12
Tout vas bien 13
Tout vas bien 14
Tout vas bien 15
Tout vas bien 16
<the other step>
Tout vas bien 17
Tout vas bien 18
Tout vas bien 19
Tout vas bien 20
Tout vas bien 21
Tout vas bien 22
Tout vas bien 23
Tout vas bien 24
<the other step>
Tout vas bien 25
Tout vas bien 26
Tout vas bien 27
Tout vas bien 28

我试图使箭头的概念与《塞尔达传说1》一样缓慢,这是人眼可以看到的。

1 个答案:

答案 0 :(得分:0)

尝试

import time
time.sleep(1)

其中1 = 1秒= 1000ms