我写了这个代码,它在tkinter中创建一个椭圆。当用鼠标点击时,椭圆形为自己创建新的坐标,然后开始脉动。Python:如何停止函数内的循环函数?
它是这样的:1, 椭圆默认情况下 2.1936点击创建一个功能“点击”被称为 3.点击功能生成新坐标,绘制椭圆,然后开始脉动循环影响。 4.现在我应该可以再次点击脉动的椭圆形,将椭圆形移动到新的位置,然后再次循环新的椭圆形(脉动)。
def click(event):
pick = 2
counter = 0
esimene_x1 = randint(0, w-100)
esimene_y1 = randint(0, h-100)
teine_x1 = esimene_x1
teine_y1 = esimene_y1
canvas.coords(circle1, esimene_x1, esimene_y1, teine_x1, teine_y1)
pulsate(esimene_x1, esimene_y1, teine_x1, teine_y1, pick, counter)
def pulsate(esimene_x1, esimene_y1, teine_x1, teine_y1, pick, counter):
if pick % 2 == 0:
esimene_x1 -= 1
esimene_y1 -= 1
teine_x1 += 1
teine_y1 += 1
counter += 1
if counter == 40:
pick += 1
elif pick % 2 != 0:
esimene_x1 += 1
esimene_y1 += 1
teine_x1 -= 1
teine_y1 -= 1
counter -=1
if counter == 0:
pick += 1
s = esimene_x1, esimene_y1, teine_x1, teine_y1, pick, counter
canvas.coords(circle1, esimene_x1,esimene_y1, teine_x1,teine_y1)
raam.after(50, pulsate, *s)
然而,当我再次脉动椭圆现在点击,它有点错误,它看起来像的循环脉动效果还是尽自己的东西和新的脉动以前的功能开始在不同的坐标。所以,我的问题是,当函数处于函数中时,如何停止循环(脉动)函数,并且我想再次启动第一个函数。 (创建,新的坐标并启动脉动以上)
这里是你可以运行,看看到底是什么似乎发生文件:
https://mega.co.nz/#!e5pj0brC!QW6R4X9WTshOCh3FTybLrQu_oI0OOU6wL5QI61punUE
另外,如果你看到任何东西,似乎造成这个错误,请让我知道。我还没有获得python线程和类的知识,但如果这是唯一的解决方案,请让我知道!否则,将不胜感激,如果它可以用一些更简单的方法来管理!
非常感谢!
嘿,伙计,非常感谢:D!作品像魅力<3 :) – user2919805