将getMouse()函数应用于风的一部分

2024-05-16 02:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将getMouse()函数应用于窗口的特定部分,而不是整个窗口。如果块是“rect1”,我需要单击它来更改颜色。但是,如果单击任何其他块,则不会发生任何事情。我已经附上了我认为与此相关的代码部分,以防有人能提供任何帮助。

#draw the grid 
for j in range (6):
    for i in range(6):
        sq_i = Rectangle(Point(20 + (40*i), 20 + (40*j)),
                         Point(60 + (40*i),60 + (40*j)))
        sq_i.draw(window)
        sq_i.setFill('white')
        sq_i.setOutline('grey')

#wait for a click 
window.getMouse ()

#turn the alotted region red
rect1 = Rectangle(Point(20 + (40*1), 20 + (40*1)),
                         Point(60 + (40*1), 60 + (40*1)))
rect1.setOutline('black')
rect1.draw(window)
rect1.setFill('brown')

#if the mouse is clicked in rect1, change the block color to black 
while window.getMouse() in rect1:
    rect1.setFill('black')

Tags: the函数inforsqrangewindowpoint