[Unity3D] Dynamic Font for NGUI 2.5.0c,动态字体脚本支持NGUI最新版本
来源:互联网 发布:月经期饮食知乎 编辑:程序博客网 时间:2024/05/21 21:01
基于NGUI最新版2.5.0c修改UIFont和其Inspector脚本,支持动态字体
使用步骤:
1、导入最新版本的NGUI包
2、导入U3D_DynamicFont_UIFont_NGUI2.5.0c
3、(Option)如果没有导入过动态字体shader,可以把shader导入U3D_DynamicFont_Shaders
文件下载
问题解决:
1、换行的问题
2、字体渲染和动态字体默认Font size尺寸的偏差
上图对比如下:
看到下面那个字体渲染比“白色”ngui的渲染体偏移了,为了解决这个bug,我们需要修改UIFont:
在开头添加一个bool变量控制(当然你可以设置false,无视这个问题)
//add to fixed dynamic font Y offset Print bug.
private const bool isDynamicFontCustomEditYoffset = true;
然后找到Print()方法中的下面位置:
//please custom edit the dynamic font y offset bug.?? if(isDynamicFontCustomEditYoffset)
{ // 16 mean input the TTF font "size" in inspector.
// -0.85f is need to Manual debugging..... v0.y = scale.y * (-y + charInfo.vert.yMax + 16) - 0.85f;
} else
v0.y = scale.x * (-y + charInfo.vert.yMin);
v1.x = scale.x * (x + charInfo.vert.xMax);
if(isDynamicFontCustomEditYoffset) {
v1.y = v0.y - scale.y * (charInfo.vert.yMax - charInfo.vert.yMin); }
else v1.y = scale.y * (-y + charInfo.vert.yMax);
如上红色标识的数字,第一个16是TTF导入后默认字体面板上的Font size,第二个需要不同字体调试出来的一个offset fixed值,我上面完整的图是雅黑默认16号字库的字体。其他字体应该需要另外测试下。
3、动态字体刷新了,然后UILabel没有找到这个刷新后的字体(因为信息已更新)
如上图,我们在UILabel中初始化添加注册这个字体到刷新消息监听,然后OnEnable中再刷新下!(确保Disable和Active UILabel时候依然会存在的问题)。理论已经解决,目前测试不会再出现该bug,然后字体全乱的现象。
PS:
如何使用在NGUI中使用动态字体教程,可以参考:http://game.ceeger.com/forum/read.php?tid=8965
- [Unity3D] Dynamic Font for NGUI 2.5.0c,动态字体脚本支持NGUI最新版本
- Unity3D: NGUI自定义Atlas,Font
- NGUI动态字体出现character not found in font
- Unity3D NGUI中文支持
- NGUI动态字体教程
- NGUI动态字体教程
- 制作NGUI动态字体
- NGUI动态字体教程
- 制作NGUI动态字体
- NGUI创建动态字体
- Unity3D NGUI自适应屏幕分辨率 最新
- Unity3D中NGUI的动态字体(TTF)制作方法!!!
- Unity3D中NGUI的动态字体(TTF)制作方法!!!
- NGUI 3.5教程(六)Font字体
- NGUI 3.5教程(六)Font字体
- Unity3d NGUI如何支持中文
- NGUI 动态改变Label字体
- NGUI 创建动态字体集
- FFMPEG教程
- CPLD/FPGA/Verilog_FPGA设计的四种常用思想与技巧
- 给php开个头
- 常用的9个photoshop技巧
- Group By ,你会用么
- [Unity3D] Dynamic Font for NGUI 2.5.0c,动态字体脚本支持NGUI最新版本
- java中几个常用的字符串函数
- 如何处理在android中有来电就给来电用户发送一个消息?
- Android联系人3--联系人分组相关
- 黑马程序员-面向对象
- IP协议号大全---备份参考
- C#存储过程的使用
- 黑马程序员-数组
- 查找最小的k个元素