我的聊天室开发教程(二):添加聊天表情
2004年11月28日13:39星期日 [
FMS
]
这个问题是网友提到的最多的问题,也的确是我在开发过程中遇到问题最多的地方。今天大致归纳下,不知道能不能全面。
主要是因为Flash本身对HTML的支持程度不足,才导致在Flashcom应用程序中使用表情符号要通过其它方式来处理。网上也有不同的实现方式,但是我认为smileyTextField组件是最方便的一种。
SmileyTextField表情组件介绍
更多的表情实现方法
但是,结合到FlashCom应用程序中,却很多问题:
1.
表情符号总是显示在第一行
2.
表情符号位置Y坐标偏移
3.
表情组件对新版List组件的影响
4.
表情组件的中文字符显示问题
经过不断的测试和交流,在Flashcom聊天室中集成表情组件的问题都已经解决,请详细阅读和参考以上日志。完整的SmileyTextField代码请参考源文件。
主要影响到的和需要修改代码的组件是:PeopleList组件和Chat组件。
Chat组件主要是要修改和和服务器端的结合部分,因为SmileyTextField组件只是负责前端显示的转换,同步工作仍然要通过FlashCom服务器。这部分的具体实施细节留待Chat组件的使用描述。
这里再讲下如何添加自己的表情符号,一般使用默认的表情符号也够用了。因为,要添加自定义的表情符号有些复杂。
首先,找到隐藏的assets图层,选中smiLibrary_mc实例->编辑后,可以在第二帧找到表情MC库,除了添加自定义表情MC为,不要忘了注册表情实例,通过使用registerSmiley(smiVarsObj)方法。
smiVarsObj是一个表情对象,主要包含属性:
-
_w
:
表情MC的宽度
-
_h
:
表情MC的高度
-
_code
:
表情对应的代码
-
_link
:
表情对应的实例名
-
_anim
:
是否有动画
-
_code和_link属性是必须的,其实还有_show 和 _base 属性不太常用,可以不用理会。
注册方法如:
1 : #initclip 2
2 : SMI_NS.registerSmiley({ _code:':kiss:', _link:'smi_kiss', _w:37, _anim:true });
3 : #endinitclip
曾经一直想把SmileyTextField组件的显示框换成V2组件的文本框,但是问题很多,有朋友解决不妨交流下
posted on 2006-06-08 13:55
blog搬家了--[www.ialway.com/blog] 阅读(2532)
评论(2) 编辑 收藏 所属分类:
FMS