当前位置:首页 > 每日看点 > 正文内容

pygame怎么输出汉字?为啥我写的这个显示出来是方框?

卡卷网9个月前 (01-18)每日看点155

1,将图像或文本绘制到屏幕上 screen.blit()

问题:pygame默认显示中文乱码怎么办?如何显示不同字体?

解决方法:下载想用的字体到本地, .ttf文件,本地引用

pygame怎么输出汉字?为啥我写的这个显示出来是方框?  第1张


2,代码

""" 1,添加方法,获取rgb颜色的值,把rgb颜色对照表的数据封装成方法,直接导包使用 2,显示文字/绘制不同字体的中文 """ import pygame import sys import RgbColors as Rgb pygame.init() # 设置默认窗口大小 screen_width = 1000 screen_height = 600 # 创建Surface(显示)对象 screen = pygame.display.set_mode((screen_width, screen_height), pygame.RESIZABLE) # 设置窗口标题 pygame.display.set_caption("我的第一个 Pygame 游戏") # 加载图标图像 icon = pygame.image.load(r'D:\pythonworkspace\game\icon\icon.png') # 设置窗口的图标 pygame.display.set_icon(icon) # # 创建字体对象 # font = pygame.font.Font(None, 36) # None 表示使用默认字体,36 是字体大小 # 加载支持中文的字体文件 font_path = r"D:\pythonworkspace\game\font\AlimamaFangYuanTiVF-Thin-2.ttf" # 替换为你的字体文件路径 font = pygame.font.Font(font_path, 40) # 设置字体大小 # 加载图像 image = pygame.image.load(r"D:\pythonworkspace\game\icon\SEED_2539913529.png") # 替换为你的图片路径 # 获取图像的矩形区域 image_rect = image.get_rect(center=(700, 300)) # 设置图像的中心位置 # 设置颜色 def get_rgb_tuple(color_dict): """ 从包含 'RGB' 键的字典中获取 RGB 值,并将其转换为整数元组。 :param color_dict: 包含 'RGB' 键的字典 :return: RGB 值的整数元组 """ # 将字符串按逗号分割,并转换为整数元组 rgb_tuple = tuple(map(int, color_dict['RGB'].split(','))) return rgb_tuple # 获取颜色 Azure = get_rgb_tuple(Rgb.Azure) Yellow = get_rgb_tuple(Rgb.Yellow) Red = get_rgb_tuple(Rgb.Red) SteelBlue1 = get_rgb_tuple(Rgb.SteelBlue1) Black = get_rgb_tuple(Rgb.Black) White = get_rgb_tuple(Rgb.White) # 事件循环 running = True while running: # 获取事件队列中的所有事件 for event in pygame.event.get(): # 如果事件类型是退出事件,则退出循环 if event.type == pygame.QUIT: running = False # 填充屏幕 screen = pygame.display.get_surface() screen.fill(SteelBlue1) # 渲染中文 text = "hello! 交个朋友吗?" text_surface = font.render(text, True, Black, White) # 获取文字矩形对象 text_rect = text_surface.get_rect(center=(200, 300)) # 绘制文字 screen.blit(text_surface, text_rect) # 绘制图像 screen.blit(image, image_rect) # 更新屏幕 pygame.display.flip() # 退出 Pygame pygame.quit() sys.exit()


运行后:

pygame怎么输出汉字?为啥我写的这个显示出来是方框?  第2张


3,笔记:

将图像或文本绘制到屏幕上 screen.blit(source, dest, area=None, special_flags=0)

参数:

  • source:要绘制的 Surface 对象(例如文本、图像等)。
  • dest:目标位置,可以是一个 (x, y) 坐标元组,或者一个 Rect 对象。
  • area(可选):指定从 source 中复制的区域(一个 Rect 对象)。如果为 None,则复制整个 Surface。
  • special_flags(可选):特殊绘制标志(如混合模式),通常不需要使用。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9959.html

分享给朋友:

相关文章

电视参数哪个最重要?

电视参数哪个最重要?

在选择智能电视时,面板类型是一个关键因素。IPS面板以其宽广的视角和出色的色彩还原能力受到青睐,尤其适合日常观看和游戏。尽管可能会有轻微的漏光,但在大多数情况下,这并不影响使用体验。相比之下,VA面板提供更高的对比度和更深的黑色,增强了沉浸...

你是如何在不依靠工资收入的情况下赚到一万元的?

你是如何在不依靠工资收入的情况下赚到一万元的?

分享几个路子稳,门槛低,变现快,适合年轻人的靠谱的副业。绝对不是送外卖、滴滴、搬砖等等的苦力活,这几个副业都是能是性价比极高,还能让你快速成长的工作。想通过副业实现暴富、立马月入过万的同学,建议速速划走。今天撇哥就给大家分享100+个靠谱赚...

天涯神帖,第一神帖是什么?

天涯神帖,第一神帖是什么?

一些个人觉得比较经典的天涯神贴(更新进去了):话说1999年那会儿,中国的互联网还是个小婴儿,BAT三巨头都还在穿开裆裤呢,天涯社区就已经悄然诞生了。时光飞逝,到了2007年,这小小社区竟然已经吸引了超过2000万的注册用户,不得不说是个小...

自己拥有一台服务器可以做哪些很酷的事情?

自己拥有一台服务器可以做哪些很酷的事情?

我就有一台,跑了两年了,ipv6 ddns 网络,加虚拟化平台.跑了个 winserver 和 ubuntu 服务器。稳的雅皮!拆掉后盖,散热更好。烟盒固定硬盘。键盘防止灰尘掉落。电池拆掉,屏幕拆掉,也是散热考虑。屏幕拿去做便携副屏了。换...

客观的讲,华为是不是真的遥遥领先?

客观的讲,华为是不是真的遥遥领先?

最近,华为上市了最新款的三折叠屏手机,于是很多大V们把这款手机吹上了天,吹成是技术上遥遥领先于全世界。谁要是敢质疑华而不实,就会被人扣上一顶汉奸卖国贼美狗的帽子。把一个商品捧成了宗教和菩萨,你只能说好,不能说不好。其实这个世界上,只要是人和...

测试用例是怎么写的?

测试用例是怎么写的?

测试用例对于测试人员而言,虽说是最最基础的技能,但却非常重要。测试用例是支撑我们在测试道路上进一步学习其他测试技能的基本功。那测试用例如何撰写,完整来说应该包含两部分内容:内容1: 测试用例撰写(按照八大要素);内容2: 测试用例(测试点)...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。