分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
在使用Daikon Forge GUI过程中,发现dfTextbox编辑框无法输入中文,dfLabel和dfRichTextLabel文本控件中文无法自动换行。对源代码进行了更改,以便支持中文。不同版本可能更改的地方会不同,这边的版本为Daikon Forge GUI 1.0.15,Unity 4.3.1。
dfTextbox中文输入
当前无法输入中文,是因为没有开启Input.imeCompositionMode IME组合方式。打开
dfTextbox.cs文件,添加以下方法:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
protected internal override void OnGotFocus( dfFocusEventArgs args )
{ Input.imeCompositionMode = IMECompositionMode.On; base.OnGotFocus( args ); } protected internal override void OnLostFocus( dfFocusEventArgs args ) { base.OnLostFocus( args ); Input.imeCompositionMode = IMECompositionMode.Auto; } |
效果图:
![](https://i-blog.csdnimg.cn/blog_migrate/a7c45ba860de10346e15ff081d49ed87.png)
dfLabel和dfRichTextLabel中文自动换行
文本控件中文无法自动换行,是因为DF-GUI只把英文进行分词,方式是遇到空格就分词,这边要加上中文的处理,即遇到中文就要进行分词。打开
dfMarkupTokenizer.cs文件,添加一个扩展方法,用来判断是否中文,代码如下:
1
2 3 4 5 6 7 8 9 |
public static class CharExtensions
{ public static bool IsChinese( this Char ch) { var low = '\u4E00'; var high = '\u9FA5'; return ch.CompareTo(low) * ch.CompareTo(high) <= 0; } } |
修改以下方法:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |