pygame简单实现游戏开始菜单

news2024/10/6 12:18:55

最终效果:

在这里插入图片描述完整视频:

pygame简单实现菜单

Code:
settings.py

RES=WIDTH,HEIGHT=800,600
FPS=60

main.py

import pygame as pg
from settings import *
import sys

class Game:
    def __init__(self):
        pg.init()
        self.screen=pg.display.set_mode(RES)
        self.clock=pg.time.Clock()
        self.DOWN_KEY,self.UP_KEY=False,False
        self.x,self.y=260,200

    def update(self):
        pg.display.flip()
        self.clock.tick(FPS)
        pg.display.set_caption(f'{self.clock.get_fps():.1f}')


    def draw(self):

        self.screen.fill('black')

        self.cursor()

        self.text("aaaaa", (255,255,255), (300,200))
        self.text("bbbb", (255,255,255), (300,300))
        self.text("cccc", (255,255,255), (300,400))


    def text(self,text,color,pos):
        font=pg.font.Font('8-BIT WONDER.TTF', 35)
        img=font.render(text,True,color)
        self.screen.blit(img, pos)


    def cursor(self):


        if self.DOWN_KEY and 200<=self.y<400:
            self.y+=100
            self.DOWN_KEY=False
        if self.UP_KEY and 400>=self.y>200:
            self.y-=100
            self.UP_KEY=False

        self.text("x", "red", (self.x,self.y))


    def events(self):
        for event in pg.event.get():
            if event.type==pg.QUIT:
                pg.quit()
                sys.exit()
            if event.type==pg.KEYDOWN:
                if event.key==pg.K_DOWN:
                    self.DOWN_KEY=True
                if event.key==pg.K_UP:
                    self.UP_KEY=True


    def run(self):
        while True:
            self.events()
            self.update()
            self.draw()


if __name__ == "__main__":
    game=Game()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浏览器中XPath的使用

概念 XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言&#xff0c;可用来在 XML 文档中对元素和属性进行遍历。 XPath定位在爬虫和自动化测试中都比较常用&#xff0c;通过使用路径表达式来选取 XML 文档中的节点或者节点集&#xff0c;熟练掌握XPath可以极大提…

生成多元正态数据

目录 一、mvrnorm()函数使用介绍 例1&#xff1a;生成服从多元正态分布的数据 例2:生成一组服从多元正态分布的观测 一、mvrnorm()函数使用介绍 获取来自给定均值向量和协方差阵的多元正态分布的数据。 MASS包中的mvrnorm()函数可以让这个问题变得很容易&#xff0c;其调用…

Visual Leak Detector内存泄漏检测机制源码剖析

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…

10分钟深入探讨带你彻底理解浅拷贝与深拷贝

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 引言 &#x1f4d8; 1. 深拷贝…

阿里春招JAVA后端面试总结

阿里巴巴春招的后端面经,问了比较多的计算机基础和数据库的内容。 操作系统 一个操作系统,我们在衡量它的内存占用的时候,它一般会有哪些内存的部分? 答:堆和栈 补充: 这个其实是问你对free命令的理解。 主机的内存做一些清理的动作。你知道这里面会涉及到对哪些…

三、监控搭建-Prometheus-grafana部署

三、监控搭建-Prometheus-grafana部署 1、背景2、目标3、传承4、操作 1、背景 在前两篇中介绍了部署prometheus平台和主机采集端部署&#xff0c;都是采用的单查询信息检索&#xff0c;不是太直观 2、目标 实现可视化查看 3、传承 本篇操作依赖[《监控搭建-Prometheus》 和…

Pymol做B因子图

分子动力学模拟结束后&#xff0c;获得蛋白的平均结构&#xff0c; 比如获得的平均结构为WT-average.pdb 然后将平均结构导入到Pymol 中&#xff0c;可以得到B因子图。 gmx rmsf -f md_0_100_noPBC.xtc -s md_0_100.tpr -o rmsf-per-residue.xvg -ox average.pdb -oq bfactors…

猫头虎博主第六期赠书活动:《手机摄影短视频和后期从小白到高手》

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

iOS 17又爆WiFi连接定期断开问题,可尝试这几种解决办法!

从刮痕、掉漆、镜头进灰&#xff0c;再到机型过热烧屏&#xff0c;这届苹果iPhone 15存在的问题还真不少&#xff01; 近日又有用户反馈称他们在 iOS 17 上遇到了 Wi-Fi 问题&#xff0c;这一问题在 iPhone 15系列机型上尤其严重。具体表现在Wi-Fi 在 iPhone 15 Pro 上会定期断…

腾讯云 轻量云 上海 VPS 测评

description: 发布于 2023-07-05腾讯云 轻量云 上海 VPS 测评 腾讯云国内机非常稳定&#xff0c;一年用下来没有掉线丢包的情况。国内机适合与备案域名一起建站使用。带宽很小&#xff0c;图片资源使用CDN加速或海外机提供。 规格 CPU - 2核 内存 - 2GB 系统盘 - SSD云硬盘…

Linux:redis数据库源码包安装

介绍 1.关系数据库与非关系型数据库 1.1关系型数据库 1)一个结构化的数据库&#xff0c;创建在关系模型基础上&#xff0c;一般面向于记录 2)包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等 非关系型数据库 1)除了主流的关系型数据库以外的数据库&#xff0c;都认为是…

PTA 7-6 盲盒包装流水线(单调栈)

题目 众所周知&#xff0c;PAT 有 9 枚徽章&#xff0c;分别对应青铜、白银、黄金、白金、钻石、大师、王者、大圣、天神这 9 个段位&#xff0c;只有成绩非常优秀的考生才有资格获得刻有自己名字的徽章。现在&#xff0c;PAT 制作了徽章的小型纪念版&#xff0c;要制成盲盒给…

SpringbootWeb快速入门

1. 创建新项目&#xff0c;并勾选相关依赖 选中Spring Initializr&#xff0c;设置相关项 点击next选中spring web 点击create 2. 定义HelloController类&#xff0c;添加方法和注解 import org.springframework.web.bind.annotation.RequestMapping;: 这一行导入了Spring MVC…

实际开发中常用的Git操作

文章目录 前言基础知识集中式版本控制 - SVN分布式版本控制 - Git常用的Linux命令Git工作区域 Git 常用命令获取Git仓库添加/提交/推送/删除/回退文件查看信息Git分支Git标签Gitk&#xff1a;一个排查Git问题的工具 前言 git是用C语言开发的&#xff0c;以追求最高的性能。git…

GEO生信数据挖掘(六)实践案例——四分类结核病基因数据预处理分析

前面五节&#xff0c;我们使用阿尔兹海默症数据做了一个数据预处理案例&#xff0c;包括如下内容&#xff1a; GEO生信数据挖掘&#xff08;一&#xff09;数据集下载和初步观察 GEO生信数据挖掘&#xff08;二&#xff09;下载基因芯片平台文件及注释 GEO生信数据挖掘&…

香港服务器在大陆连不上怎么回事?

众所周知&#xff0c;香港服务器与中国内地的网络连通性是比较好的&#xff0c;不仅是机房地理距离的加持&#xff0c;还有就是利用CN2 GIABGP高速线路&#xff0c;参考恒创科技香港服务器访问内地网站&#xff0c;无需绕国际线路转换再到大陆&#xff0c;访问速度会比较快。但…

几行cmd命令,轻松将java文件打包成jar文件

1. 在任意目录下建立一个.java文件 2. 在当前目录下使用cmd命令&#xff1a; javac filename编译 如果报错则使用此命令javac -encoding UTF-8 filename 3.此时已成功生成.class文件 4. 可以手动添加MANIFEST.MF文件 Manifest-Version: 1.0 Main-Class: fileName 5.直接一…

实施运维01

一.运维实施工程师所具备的知识 1.运维工程师&#xff0c;实施工程师是啥&#xff1f; 运维工程师负责服务的稳定性&#xff0c;确保服务无间断的为客户提供服务. 实施工程师负责工程的实施工作&#xff0c;负责现场培训&#xff0c;一般都要出差&#xff0c;哪里有项目就去…

掌动智能:性能测试工具优势有哪些

由于应用程序的性能直接影响用户体验和满意度。而性能问题可能会导致应用响应缓慢、崩溃或无法处理大量用户请求。为了确保应用程序的高性能和可靠性&#xff0c;开发团队需要对应用程序进行性能测试。性能测试工具能够模拟真实场景下的负载并监测应用程序的性能表现&#xff0…

openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw

文章目录 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw95.1 使用postgres_fdw95.2 postgres_fdw下推主要成分95.3 常见问题95.4 注意事项 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw openGauss的fdw实现的功能是各个…