栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pygame基础 学习笔记 (07-按钮点击)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pygame基础 学习笔记 (07-按钮点击)

import pygame,sys


# 1.初始化操作
pygame.init()

# 2.创建游戏窗口
window_size_width = 600
window_size_height = 400
window = pygame.display.set_mode((window_size_width,window_size_height))

# 设置游戏标题
pygame.display.set_caption('游戏test')

font = pygame.font.Font("C:/Windows/Fonts/STXINWEI.TTF",30)

# 1.确定按钮
bx1,by1,bw1,bh1 = 30,100,100,50
pygame.draw.rect(window,(255,0,0),(bx1,by1,bw1,bh1))
text1 = font.render("确认",True,(255,255,255))
tw1,th1 = text1.get_size()
tx1,ty1 = bx1+bw1/2-tw1/2,by1+bh1/2-th1/2
window.blit(text1,(tx1,ty1))

# 2.取消按钮
bx2,by2,bw2,bh2 = 30,200,100,50
pygame.draw.rect(window,(0,255,0),(bx2,by2,bw2,bh2))
text2 = font.render("取消",True,(255,255,255))
tw2,th2 = text2.get_size()
tx2,ty2 = bx2+bw2/2-tw2/2,by2+bh2/2-th2/2
window.blit(text2,(tx2,ty2))

pygame.display.update()


# 3.让游戏保持一直运行的状态
while True:
    # 4.检测事件
    for event in pygame.event.get():
        # 对事件作出相应的响应
        if event.type == pygame.QUIT:  # 如果点击了关闭按钮
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:  # 如果鼠标按下
            mx,my = event.pos  # 获取鼠标点击的位置
            if bx1 +bw1 >= mx >= bx1 and by1 +bh1 >= my >= by1:
                pygame.draw.rect(window, (200,200,200),(bx1,by1,bw1,bh1))
                window.blit(text1, (tx1, ty1))
                pygame.display.update()
                print("确定按钮被点击")
            elif bx2 +bw2 >= mx >= bx2 and by2 +bh2 >= my >= by2:
                pygame.draw.rect(window, (200, 200, 200), (bx2, by2, bw2, bh2))
                window.blit(text2, (tx2, ty2))
                pygame.display.update()
                print("取消按钮被点击")

        if event.type == pygame.MOUSEBUTTONUP:
            mx, my = event.pos  # 获取鼠标点击的位置
            if bx1 + bw1 >= mx >= bx1 and by1 + bh1 >= my >= by1:
                pygame.draw.rect(window, (255, 0, 0), (bx1, by1, bw1, bh1))
                window.blit(text1, (tx1, ty1))
                pygame.display.update()
                print("确定按钮被松开")
            elif bx2 + bw2 >= mx >= bx2 and by2 + bh2 >= my >= by2:
                pygame.draw.rect(window, (0, 255, 0), (bx2, by2, bw2, bh2))
                window.blit(text2, (tx2, ty2))
                pygame.display.update()
                print("取消按钮被松开")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011613.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号