最近研究了了一下NGUI的图文混排工具,得出的结论是有点坑爹。。大家看看我的测试步骤,我用的是目前NGUI的最新版本3.6.6 。
当我在 Open BitMapFont Marker 的时候界面上出现Assets/NGUI/Editor/FreeType.dylib is missing 的字样。于是查了一下,大概意思是必须要把FreeType.dylib 文件拷贝在/usr/local/lib/FreeType.dylib路径下面。FreeType.dylib 文件在NGUI/Editor目录下面。
首先打开Finder,然后Command + Shift + G 如下图所示,在输入框里面输入/usr/打开文件夹。
接着,如下图所示,把FreeType.dylib 文件拷贝进去,另外如果你的电脑没有local/lib文件夹的话你可以自己手动创建一个。
接着在Project视图中鼠标右键选择NGUI -> OpenBitmap Font Maker 如下图所示,Unity弹出Font Maker界面,然后点击Source按钮,在右侧Select a Font界面中选择一个在你项目工程中的字体。
Font Maker 界面上有四个选项,Numeric ASCII Latin Custom,我是多么希望它能再有个Dynamic的选项呀,可是丫就是没有。。 这里我们选择Custom自定义。如下图所示,Characters窗口里面的字符,就是预先打包生成的纹理材质。Output下方Atlas选择你需要图文混排的Atlas图集。最后点击Creat the font 就可以了。
接着我们需要设置图文混排中图片的Atals,如下图所示,在制作出的UIFont上,选择一个图集,然后在给图集起个名子, 这里我起了一个 MOMO 和 RORO两个名子, 也就是说当文本中出现MOMO 和RORO字符串的时候,将会自动替换成图片。
如下图所示,我们的图文混排已经完成了。
但是你千万别高兴的太早,我觉得NGUI现在的图文混排不太适合用来做中文版的项目。为什么呢?
1.不支持动态TTF字体的图文混排,凡是参与图文混排的文字都必须打在一个BitMap上面,这是做中文版本无法接收的,因为我们必须要用TTF动态字体。
2.NGUI图文混排的高度计算的有问题。看到了吗?如果你参与图文混排的两个图片大小不一样,如果文字进行换行,高度会计算错误。。
3.比如想第一个文字设置成红色,然后跟着一个图片,然后在跟一个绿色的字,那么它也做不成。。
4.调节文字间的横向和纵向的距离,它也做不成。
想了想目前还是先不要用NGUI的图文混排了,呵呵。
- 本文固定链接: https://www.xuanyusong.com/archives/2908
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
UGUI的图文混排,站里没有有用的…
如果在windows情况下,该怎么操作呢?
大神,请问最新版的FontMaker在Mac上还可以用么,我用x86里的FreeType.dylib选ttf直接就crash了,我又换成用brew安装的libtreetype.6.dylib。然而以后crash。这个问题折腾了3个小时又回到原点,求助有什么办法解决
给一个freetype64 dylib文件
请问这个可以使用动态的图片吗
求范例~我最近在负责聊天系统,字体要求使用Arial,然后输入#12 可以变成动态表情,求教如何根据描述文件 在它的子节点上生成Label 和 Sprite 。
打BitMap的时候会报字体不能使用的错,有遇到过的吗
MOMO大哥,请问3D粒子效果要怎么放置才可以在NGUI上显示,要求是它要显示在NGUI图片层的上面?
关于最后的第3点“3.比如想第一个文字设置成红色,然后跟着一个图片,然后在跟一个绿色的字,那么它也做不成。。”;我试了,可以哦,如下UILabel中内容(#001表示表情)[00ff00]99#001[-][ff0000]88[-]#001
HTML Engine for NGUI & Unity GUI这个东东做图文混排怎么样?
请教个问题:在场景中,打开了几个界面,我只想让它响应最上面那一层。应该怎么解决啊!BoxCollider那种方法太麻烦了
观望中。。。。。
有什么更好的方法么
这货还真有不少问题要改的