繁体   English   中英

标题屏幕未更新

[英]Title Screen not updating

我正在使用pygame开发游戏。 当游戏开始时,我希望有一个标题屏幕,您可以从中开始游戏。 我有这个工作。 但是,我想向标题屏幕添加元素,包括一个退出按钮,当鼠标悬停在该按钮上时会更改图像。 我做了一个可以做到这一点的功能-它可以在游戏中工作。 但是,当我尝试在标题屏幕中使用它时,该按钮会出现,但不会更新,也不会让我退出游戏。 标题屏幕似乎没有循环播放。

标题画面功能:

    def title_screen(self):
        self.window.fill(TITLE_SCREEN_COLOUR)
        self.window.blit(TITLE_BANNER,(133,275))
        self.draw_text("PRESS [SPACE] TO  BEGIN",88, BLACK, 640, 480)
        self.quit_button(20,20)
        self.clock.tick(FPS)
        pygame.display.update()
        self.wait()

退出按钮功能:

def quit_button(self,x,y):
    mouseX,mouseY = pygame.mouse.get_pos()
    print(mouseX,mouseY)        
    click = pygame.mouse.get_pressed()
    if x+72 > mouseX > x and y+32 > mouseY > y:
        self.window.blit(DOOT,(x,y))
        if click[0] == 1:
            pygame.quit()
            sys.exit()   
    else:
        self.window.blit(QUIT_BUTTON,(x,y))

我目前如何尝试运行它:

    def game_loop(self):
        self.waiting = True
        while self.waiting:
            self.title_screen()
        self.playing = True
        while self.playing:
            self.dt = self.clock.tick(FPS)/1000.0
            self.update_window() # updates 
            self.draw_elements()
            self.pause()

我希望能够在标题屏幕上添加按钮和动画,但是似乎没有任何效果。 即使当我尝试使用pygame.mouse.get_pos()它也会给我一次鼠标位置的坐标并停止。 我究竟做错了什么? 如何使标题屏幕的行为与主游戏相同?

您可以在此处查看完整的代码: https//pastebin.com/Sw6zkLwT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM