当鼠标在某个x / y坐标内时如何输出字符串

时间:2019-07-11 19:51:29

标签: user-interface pygame

我正在写一个子手游戏,很有趣,不能一辈子都弄清楚我的代码出了什么问题。当我在GUI上选择A时,无论y坐标如何,它都会选择A或B,反之亦然。

我试图改变运算符,以防出现逻辑错误但什么都没发生。

def mainGame(length, Base, Wall, Roof, Rope):
    global characterSelected
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
            mouse = pygame.mouse.get_pos()
            if event.type == pygame.MOUSEBUTTONDOWN:
                if pygame.mouse.get_pos()[0] >= 50 and pygame.mouse.get_pos()[1] >= 100:
                    if pygame.mouse.get_pos()[0] >= 82 and pygame.mouse.get_pos()[1] >= 132:
                        win.blit(Blank, (50, 100))
                        characterSelected = 'A'
                        characterValidation(length, word, 'A', Base, Wall, Roof, Rope)

我希望它仅在光标位于框内时选择A,但它会在相同x坐标内的任何地方执行操作,而不是Y坐标

1 个答案:

答案 0 :(得分:0)

通常来说,您不应使用Stack Overflow来获得调试帮助。进行一些实际的调试或仅是一些深思熟虑的分析,就会发现问题所在。

您的第一个条件是检查光标是在右侧还是下方(50,100),第二个条件是检查光标是在右侧还是下方(82、132)。您可能要检查<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Horizontal Navigation Bar w/Rollover Effect</title> <style type="text/css"> <!-- #navbar ul { height: inherit; /* margin: 0; REMOVE THIS*/ margin-bottom: 0; /* Suggested */ list-style-type: none; text-align: right; background-color: #000; } /* Suggested for aesthetic reasons */ #navbar { background-color: #000; } #navbar ul li { display: inline-block; padding: 10px 4px; height: inherit; border-left: 1px solid #696969; } #navbar ul li a { font-family: 'Montserrat'; text-decoration: bold; padding: .2em 1em; color: #fff; /* background-color: #000; */ } #navbar ul li:hover { background-color: #000; } #navbar ul li:hover a { color: #fff !important; } #navbar { background-color: #000; } #navbar{ position: fixed; z-index: 100000; /*To bring the navbar to the top of the stacking context*/ width: 100%; } nav.stricky-fixed.fadeInDown.animated{ top:40px; /*Since this element is already set as relative in the original code, the top property places the slideIn menu 40px (height of black nav menu) from the top of the page.*/ } .social-icon-wrapper:nth-child(3) { border-right: 1px solid #696969; } .social-icon-wrapper:hover { background-color: transparent !important; } .social-icon { width: 15px; vertical-align: top; } .submit-btn { background-color: green !important; border-left: 1px solid #696969 !important; border-right: 1px solid #696969 !important; } --> </style> </head> <body> <!-- --> <div id="navbar"> <ul class="container"> <ul> <li class="social-icon-wrapper" style="float:left"><a href="#about"><img class="social-icon" src="https://i.imgur.com/tonPA8V.png"></a></li><!-- --><li class="social-icon-wrapper" style="float:left"><a href="#about"><img class="social-icon" src="https://i.imgur.com/fEvitJl.png"></a></li><!-- --><li class="social-icon-wrapper" style="float:left"><a href="#about"><img class="social-icon" src="https://i.imgur.com/UiwMSrt.png"></a></li><!-- --><li><a href="mailto:project@stephensengineering.com">project@stephensengineering.com</a></li><!-- --><li><a href="tel:+18883000642">888-300-0642</a></li><!-- --><li><a href="http://www.stephensengineering.com/stephens33/stephens-university/">Stephens University</a></li><!-- --><li class="submit-btn" ><a href="http://www.stephensengineering.com/stephens33/submit-assignment/">Submit Assignment</a></li> </ul> 是否在50到82之间以及pygame.mouse.get_pos()[0]是否在100到132之间。