当前位置:首页>python>Python pyxel库做个小游戏,文字的显示

Python pyxel库做个小游戏,文字的显示

  • 2026-08-26 23:56:06
Python pyxel库做个小游戏,文字的显示
在上一篇内容中,我们使用Pyxel Editor绘制资源,并加载。今天我们来在游戏界面中加上文字的显示,比如得分,提示信息等内容。
在Pyxel中文字的显示功能很简单,只需要一个函数就搞定pyxel.text()。首先我们看看它的参数说明
pyxel.text(x, y, s, col)
参数x:文字在游戏屏幕中的X坐标,也就是水平位置
参数y:文字在游戏屏幕中的Y坐标,也就是垂直位置
s参数:要显示的字符串
col参数:文字的颜色值,pyxel内置了16种颜色,可以和Editor中对应
让我们先来个简单的示例,在屏幕中显示红色的HELLO,WORLD
# 代码片段def draw(self):    pyxel.cls(0)  # 清空屏幕,背景设为黑色    # 在(10,10)位置显示红色文字    pyxel.text(10, 10, "HELLO, TEXT!!", 7)
是不是很简单,我们来做个动态计分效果,单纯的数字并不美观,可以通过字符串格式化,让分数显示的更规范,比如固定4位,不足补0.代码如下:
import pyxelimport mathimport random# 游戏窗口尺寸(宽160,高120)W, H = 160, 120  # 游戏核心类class Game:    def __init__(self):        """构造函数:初始化游戏"""        # 初始化分数(新增)        self.score = 0        # 初始化Pyxel窗口        pyxel.init(W, H, title="Hello, Pyxel!!")        # 加载资源文件(可选,本文重点是文字,也可注释掉)        pyxel.load("shooter.pyxres")        # 启动游戏循环        pyxel.run(self.update, self.draw)    def update(self):        """更新逻辑:每帧更新分数"""        # 每帧分数+1(模拟游戏得分,可根据实际逻辑修改)        self.score += 1    def draw(self):        """绘制逻辑:显示分数"""        # 清空屏幕,背景为黑色        pyxel.cls(0)        # 绘制格式化的分数(核心代码)        pyxel.text(            10, 10,                # 文字位置:屏幕左上角(10,10)            "SCORE:{:04}".format(self.score),  # 格式化分数为4位补零            12                     # 文字颜色:亮红色(12是Pyxel的颜色码)        )# 程序入口def main():    Game()if __name__ == "__main__":    main()
运行后它就显示分数的增长动画了,因为update函数每次刷新都会增加计数效果大致如下:
当然我们也可以加入更多的文字,只需要调整Y坐标,比如在10,30的位置显示level信息
pyxel.text(10, 30, "LEVEL:01", 15)  # 白色显示关卡数
是不是很容易呢?今天主要是了解text的用法,配合字符串格式化和动态更新,能实现非常不错的效果。
最后,不妨自己修改一下试试,例如把分数改成白色,在屏幕右上角显示。动起来动起来,欢迎评论区互动

最新文章

随机文章