我正在学习一个学校项目,在这个项目中,你可以回答不同难度的数学问题,以便获胜。我正在使用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>
答案 0 :(得分:1)
elif action=="Playbutton":
print("1")
PlayClicked==True
Intro==False
更改此设置,以便您为PlayClicked和Intro使用单个=
符号代替==
。大概是你试图设置这些变量的值而不是检查相等性:P
答案 1 :(得分:0)
您需要将PlayClicked
和Intro
声明为全局变量,并执行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