Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的游戏循环没有定义,即使它是?_Python_Python 3.x_Pygame - Fatal编程技术网

Python 为什么我的游戏循环没有定义,即使它是?

Python 为什么我的游戏循环没有定义,即使它是?,python,python-3.x,pygame,Python,Python 3.x,Pygame,我正在制作一个开始屏幕按钮,当你按下play时游戏循环开始,但它说游戏循环没有定义,尽管我以为我定义了。我似乎无法解决这个问题,那么有人知道如何解决这个问题吗?这会有很大帮助的!:) 正确设置代码的格式,它应该可以工作 我将按钮()的主体替换为pass。成功了 def button(x, y, width, height, ic, ac, action=None): pass def game_loop(): print('game loop') game_loop()

我正在制作一个开始屏幕按钮,当你按下play时游戏循环开始,但它说游戏循环没有定义,尽管我以为我定义了。我似乎无法解决这个问题,那么有人知道如何解决这个问题吗?这会有很大帮助的!:)

正确设置代码的格式,它应该可以工作


我将
按钮()的主体替换为
pass
。成功了

def button(x, y, width, height, ic, ac, action=None):
    pass


def game_loop():
    print('game loop') 

game_loop()

您应该在代码中用空格替换制表符。或者从SO复制并粘贴到您的环境。

请使用空格而不是制表符来对齐代码。再试一次,我修好了。对不起,我把代码发错了。我就是这样做的,但它不起作用。为什么要传递那个函数?我没有pygame库。
按钮
函数需要一个函数体。所以我加入了
pass
来替换函数体。
 def button(x, y, width, height, ic, ac, action=None):

     mouse = pygame.mouse.get_pos()
     # print(mouse)

     if x + width > mouse[0] > x and y + height > mouse[1] > y:
         pygame.draw.rect(screen, ac, (x, y, width, height), 0)
         for event in pygame.event.get():
             if event.type == pygame.MOUSEBUTTONDOWN and action is not None:
                 if action == "play":
                     game_loop()
                 elif action == "quit":
                     pygame.quit()
                     quit()
     else:
         pygame.draw.rect(screen, ic, (x, y, width, height), 0)

 def game_loop():
     print('game loop') 
 game_loop()
def button(x, y, width, height, ic, ac, action=None):
    pass


def game_loop():
    print('game loop') 

game_loop()