除了GMS,其他的地方9号的宋体都是干干净净的没有抗锯齿
但GMS直接用9号宋体就会给宋体的英文和数字抗锯齿,The Red Strings Club看到这个就觉得是GMS做的,一查居然真的是GMS做的
GMS比较尴尬的是用font_add没有办法关掉抗锯齿,而直接建立字体中文的处理就会有些麻烦。
因为GMS的字体会把字符放在一个图里节约性能,所以要设定字符编码范围,西语用很小的范围就够用了,但是一旦涉及到中文……
他们就会因为字体的图太大了把它压缩(add_font方法因为他会读取整个字体文件所以不会为了节省而压缩)
变成这个样子,近视足够深的可以看清
不过常用汉字的数量几千个还是可以装得下的,只要把游戏需要用到的所有文本放在一个txt里(注意编码要unicode),然后add range from file就行了,用起来还算正常。
但是我面临的问题是
我想要让玩家自己输入名字
这就……很麻烦了,我一时半会还找不到怎么搞出一个覆盖整个字符编码范围的方式
虽然常用字已经够用了,但是有人不小心打出▯来应该还是蛮不爽的
有人遇到过类似的问题并把它解决了么?
就add range from file就行,百度一下国标一二级字库,把一级字库和二级字库的都加进去就行了。几乎跳不出这个字库了,当然你要怕碰到硬核玩家非要打贇、鱻、驫这种的,那就用GKB字库。不过像素化的贇鱻驫这种就算能打出来也是黑色的方块吧。
P.S先做完游戏才是重点,肯定要有取舍,总想着做到极致往往是做不完游戏的。就像字体,6763个国标字库完全就够正常用了,但是用GBK的字库21003个,大了接近4倍,就算都能搞定这么多,那文件体积,性能影响,也都是问题,为了提升微乎其微的打出“贇鱻驫”这几个字的这种问题,而舍弃99.99%的玩家的体验,我觉得是不值得的。
font_addfont_add现在可以用这个关闭抗锯齿:font_add_enable_aa(false)