先上图看效果:
原理:一个uilabel,多个uisprite
详情:首先利用input录入玩家输入的文字及用字符代替玩家选择输入的表情如 eq:324=哭泣来表示在这里会出现一个哭泣的表情图片并其id为324,最终于把input得到的数据为chatText;其实对chatText进行解析,对于出现表情符的地方用4个空格代替表情字符并记录这个表情所要显示的X位置及Y位置以及如果表情符是多行显示的要在这每行的起始位置插入\n(实际为"\n\n");最后把label显示出来,并利用得到的显示表情符位置及表情id用sprite进行显示出来;运行显示即可得到玩家输入表情符及输入文字的组合了!
注意:ngui中显示汉字所占位置是2个字符位置(和其所占内存是一样的),故计算字符显示长度利用这个方法即可得到。