聊天面板的一些心得与图文混排
核心代码使用的是这位大佬的博客,在github可以下到源码。
http://blog.csdn.net/column/details/13021.html
图文混排和无限滚动进行混合的话,首先需要一个用来存储消息的模型。把自己发的消息和从服务器端接过来的消息都存在这个模型内,然后用无限滚动根据模型刷新view。
1.图文混排使用到的核心代码有三个:InlineManager、InlineText、SpriteGraphic。
其中InlineManager要挂在其他两个脚本的父物体上。
InlineText是继承Text脚本,充当一个文字框的作用,但是这里会根据图片设置的tag而为表情留出对应的空位。
SpriteGraphic则是主要负责显示表情的脚本(其实表情是在InlineManager里绘制的)。
2.注意使用这套图文混排的时候,在搭建ui的时候,不要进行任何的缩放(scale的改变),如果进行缩放,表情会绘制在一些奇怪的地方。
3.这里绘制出的表情,可以通过移动SpriteGraphic所挂载的游戏物体而进行移动,所以在和scrollrect进行配合时,一定要把SpriteGraphic所在的游戏物体放在你的content下,这样图片才会跟着你的content而移动。
4.当你的content的长度变化时,绘制图片的位置也会随着拉伸而改变位置,我之前的做法是:在改变content之前将SpriteGraphic游戏物体移出content。然后改变后再把SpriteGraphic放回content的子物体下。