【问题标题】:Consecutive onscreenclick events in Python turtle graphicsPython海龟图形中的连续onscreenclick事件
【发布时间】:2018-01-24 17:15:38
【问题描述】:

我的目标是调用一系列函数(连续),每个函数都有两个参数,在左键单击屏幕/画布时,自动提供单击点的坐标。

我的目标是让这些是连续的,而不是一键完成。因此,单击屏幕,调用函数 1,再次单击屏幕(使用新坐标),使用提供的新坐标调用函数 2,等等。

这是我尝试过的:

from turtle import *

def f(x, y):
     goto(x, -y) 

def g(x, y):
     goto(-x, y)

def main():
     onscreenclick(f)
     onscreenclick(g)

main()

reading through the literature on 'onclick', 'onscreenclick' 之后,我认为这与您是否为第三个参数输入 'True'、'False' 或 'None' 有关。

在尝试了这些组合的各种组合之后,它所做的只是在第一次点击时调用所有这些组合,或者只调用最后一个。

如果有人知道我可以在 Python 中找到更详细的鼠标点击事件解释,尤其是 Turtle 图形,我将不胜感激。或者如果您当然可以自己回答问题。

【问题讨论】:

    标签: python turtle-graphics


    【解决方案1】:

    如果您希望每次点击都有不同的功能,请尝试以下操作:

    from turtle import *
    
    def f(x, y):
        goto(x, -y) 
        onscreenclick(g)  # what happens next time
    
    def g(x, y):
        goto(-x, y)
        onscreenclick(f)  # what happens next time
    
    def main():
        onscreenclick(f)
    
    main()
    
    mainloop()
    

    您应该能够反复单击并查看两个功能之间交替的行为。

    您对onscreenclick() 的第三个参数的理解是正确的,您可以替换 现有的事件处理,也可以增强 它,但它没有设置为备用它。

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多