Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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 Don';我不知道从哪里开始集成按钮_Python_Pygame - Fatal编程技术网

Python Don';我不知道从哪里开始集成按钮

Python Don';我不知道从哪里开始集成按钮,python,pygame,Python,Pygame,我在将工作按钮集成到此代码中时遇到问题。这些按钮已经在pygame中定义并显示,但我不知道下一步该去哪里。我曾尝试添加鼠标和单击功能,但我真的不知道它们的最佳位置,也不知道如何使用它们的功能 导入pygame pygame.init() screen=pygame.display.set_模式((800600)) clock=pygame.time.clock() 黑色=(0,0,0) 背景=(200230234) 白色=(255,255,255) 悬停颜色=(50、70、90) #文本变量 F

我在将工作按钮集成到此代码中时遇到问题。这些按钮已经在pygame中定义并显示,但我不知道下一步该去哪里。我曾尝试添加鼠标和单击功能,但我真的不知道它们的最佳位置,也不知道如何使用它们的功能

导入pygame
pygame.init()
screen=pygame.display.set_模式((800600))
clock=pygame.time.clock()
黑色=(0,0,0)
背景=(200230234)
白色=(255,255,255)
悬停颜色=(50、70、90)
#文本变量
FONT=pygame.FONT.SysFont(“泰晤士报新诺曼”,60)
TEXT=FONT.render(“,True,白色)
background\u images=pygame.image.load(“background.jpg”).convert()
blit(背景图像,[0,0])
屏幕显示(文本,(150,50))
#文本与矩形结构
text1=FONT.render(“播放”,真,白色)
text2=FONT.render(“控件”,真,白色)
text3=FONT.render(“难度”,真,白色)
text4=FONT.render(“记分牌”,真,白色)
rect1=pygame.Rect(250200300,80)
rect2=pygame.Rect(250300300,80)
rect3=pygame.Rect(250400300,80)
rect4=pygame.Rect(250500300,80)
#按钮结构出现了。文本和矩形
按钮=[
[text1,rect1,BACKGROUND],
[text2,rect2,BACKGROUND],
[text3,rect3,BACKGROUND],
[text4,rect4,BACKGROUND],
]
def game_intro():
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
返回
elif event.type==pygame.MOUSEMOTION:
对于按钮中的按钮:
#使用collisionpoint检测鼠标位置碰撞
如果按钮[1]。碰撞点(event.pos):
#将按钮的颜色设置为悬停颜色。
按钮[2]=悬停颜色
其他:
#将颜色重置为正常。
按钮[2]=背景
#使用按钮的当前颜色绘制按钮(法线和碰撞)
对于文本、矩形、彩色按钮:
pygame.draw.rect(屏幕、颜色、rect)
screen.blit(文本,rect)
pygame.display.flip()
时钟滴答(15)
#跑步比赛
游戏介绍()
场景改变()
pygame.quit()
在集成此功能时:

mouse=pygame.mouse.get_pos()
click=pygame.mouse.get_pressed()

程序将排除有关鼠标位置功能的错误

将ID添加到按钮:

按钮=[
[text1,rect1,BACKGROUND,1],
[text2,rect2,BACKGROUND,2],
[text3,rect3,BACKGROUND,3],
[text4,rect4,BACKGROUND,4]
]
添加一个处理按钮事件的函数:

def on_按钮(按钮):
打印(按钮[3])
按下按钮时调用该功能:

def game_intro():
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
返回
elif event.type==pygame.MOUSEMOTION:
对于按钮中的按钮:
#使用collisionpoint检测鼠标位置碰撞
如果按钮[1]。碰撞点(event.pos):
#将按钮的颜色设置为悬停颜色。
按钮[2]=悬停颜色
其他:
#将颜色重置为正常。
按钮[2]=背景
elif event.type==pygame.MOUSEBUTTONDOWN:
对于按钮中的按钮:
#使用collisionpoint检测鼠标位置碰撞
如果按钮[1]。碰撞点(event.pos):
打开按钮(按钮)
#使用按钮的当前颜色绘制按钮(法线和碰撞)
对于按钮中的文本、矩形、颜色、按钮id:
pygame.draw.rect(屏幕、颜色、rect)
screen.blit(文本,rect)
pygame.display.flip()
时钟滴答(15)

你能提供你收到的错误信息吗?@MickaëlBucas没有错误信息。阅读以下问题:“我真的不知道它们的最佳位置,也不知道如何使用它们的功能”!