在我的程序中,我在图形窗口中画了三个圆圈,根据用户点击的是哪个,我需要不同的响应。
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
请注意,您必须根据正在使用的图形库调整属性名称。