去年使用Ursina来替代Unity 3D做了一个项目,用Python比c#爽,但程序的中文的显示问题一直没解决,临时的解决方法是翻译成英文或者用图片。Ursina的国内用户很少,网上也没搜索到解决方案,对这个问题一直念念不忘。
# -*- coding: utf-8 -*-from ursina import *app = Ursina()
# 创建一个文本对象,显示中文字符
text = Text(text='你好,世界!', origin=(0,0), scale=2)app.run()
今年这个项目要继续完善,这个问题又凸显出来了。各种搜索引擎一顿检索,还是没找到可行的方法。想放弃之际,忽然想起可以问问chatgpt。
这个回答超出预期。这个回答的代码有点错误,但是指明了方向。测试了下,稍微修改下,把“font”改为“Text”,指向系统中的一个中文字体就可以了。
# -*- coding: utf-8 -*-from ursina import *app = Ursina()# 设置字体
# Text.default_font = 'font/msyh.ttc' #微软雅黑字体
Text.default_font = 'font/DroidSansFallback.ttf' # android字体
# 创建一个文本对象,显示中文字符
text = Text(text='你好,世界!', origin=(0,0), scale=2)app.run()
解决了这个问题,后面继续使用Ursina的信心大增。