如何在python图形窗口中检测用户是否在Circle内部单击



在我的程序中,我在图形窗口中画了三个圆圈,根据用户点击的是哪个,我需要不同的响应。

    cup1 = Circle(Point(35,100),25)
    cup1.draw(win)
    cup2 = cup1.clone()
    cup2.move(65,0)
    cup2.draw(win)
    cup3 = cup1.clone()
    cup3.move(130,0)
    cup3.draw(win)

所以我需要这样的东西:

    userchoice = win.getMouse()
    cup1choice = False
    cup2choice = False
    cup3choice = False
    if userchoice in cup1:
        cup1choice = True
    if userchoice in cup2:
        cup2choice = True
    if userchoice in cup3:
        cup3choice = True

但我意识到Circle是不可迭代的,所以我正在寻找其他类型的方法来确定用户是在点击cup 1、2还是3。如果有人能帮忙,我真的很感激

您已经有了每个Circle的中心和半径,您可以编写一个函数来确定给定的Point是否在其中,如下所示:

from math import sqrt
def is_within(point, circle):
    distance = sqrt(((point.x - circle.x) ** 2) + 
                    ((point.y - circle.y) ** 2))
    return distance < circle.radius

请注意,您必须根据正在使用的图形库调整属性名称。

相关内容

  • 没有找到相关文章

最新更新