Pygame循环问题

时间:2017-08-17 21:01:03

标签: python-3.x pygame

我正在学习一个学校项目,在这个项目中,你可以回答不同难度的数学问题,以便获胜。我正在使用Pygame与Python一起创建这个并遇到了一个我没有看到问题的问题,我想知道是否有人可以解决这个问题!

问题在于我正在使用的游戏循环。当游戏开始时,加载标题屏幕,屏幕上有音乐和一组按钮。如果这些按钮悬停在上面,它们会变为不同颜色以表示这一点。目前我正在搞乱播放按钮,并希望它带你到一个新的屏幕。目前我有这个设置,以便它会让你脱离标题屏幕循环,并让你只是一个没有别的东西的青色背景。然而,虽然按钮显然被注册为点击,但游戏似乎保持Intro循环完整,而不是转换到应该满足的新循环," Play Clicked"

我的代码是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" id="formSample">
 <div class="form-group">
      <label for="name">Name</label>
      <input type="text" name="name" id="name" placeholder="Fullname">
 </div>
 <div class="form-group">
      <label for="phone">phone</label>
      <input type="number" id="phone" name="phone" placeholder="number">
 </div>
 <div id="buttonClick">
 <button >Submit</button></div>

2 个答案:

答案 0 :(得分:1)

        elif action=="Playbutton":
            print("1")
            PlayClicked==True
            Intro==False

更改此设置,以便您为PlayClicked和Intro使用单个=符号代替==。大概是你试图设置这些变量的值而不是检查相等性:P

答案 1 :(得分:0)

您需要将PlayClickedIntro声明为全局变量,并执行Astrolab告诉您的操作并将双==更改为=

但是,通常应该避免使用全局变量,因为它们通常会使代码更难理解并且更容易出错,因此重新构建程序会更好。

def PlayButtonClicker(PlayButtonx,PlayButtony,width,height,action=None):
    global PlayClicked
    global Intro
    cursor=pygame.mouse.get_pos()
    click=pygame.mouse.get_pressed()
    if (PlayButtonx+width)>cursor[0]>PlayButtonx and (PlayButtony+height)>cursor[1]>PlayButtony:
        DISPLAYSURF.blit(PlayButtonHovered, (PlayButtonx, PlayButtony))
        if click[0]==1 and action!=None:
            if action=="quit":
                pygame.quit()
                sys.exit()
            elif action=="Playbutton":
                print("1")
                PlayClicked = True
                Intro = False