我的聊天室開發(fā)教程(二):添加聊天表情
2004年11月28日13:39星期日 [
FMS
]
這個(gè)問題是網(wǎng)友提到的最多的問題,也的確是我在開發(fā)過程中遇到問題最多的地方。今天大致歸納下,不知道能不能全面。
主要是因?yàn)镕lash本身對(duì)HTML的支持程度不足,才導(dǎo)致在Flashcom應(yīng)用程序中使用表情符號(hào)要通過其它方式來處理。網(wǎng)上也有不同的實(shí)現(xiàn)方式,但是我認(rèn)為smileyTextField組件是最方便的一種。
SmileyTextField表情組件介紹
更多的表情實(shí)現(xiàn)方法
但是,結(jié)合到FlashCom應(yīng)用程序中,卻很多問題:
1.
表情符號(hào)總是顯示在第一行
2.
表情符號(hào)位置Y坐標(biāo)偏移
3.
表情組件對(duì)新版List組件的影響
4.
表情組件的中文字符顯示問題
經(jīng)過不斷的測(cè)試和交流,在Flashcom聊天室中集成表情組件的問題都已經(jīng)解決,請(qǐng)?jiān)敿?xì)閱讀和參考以上日志。完整的SmileyTextField代碼請(qǐng)參考源文件。
主要影響到的和需要修改代碼的組件是:PeopleList組件和Chat組件。
Chat組件主要是要修改和和服務(wù)器端的結(jié)合部分,因?yàn)镾mileyTextField組件只是負(fù)責(zé)前端顯示的轉(zhuǎn)換,同步工作仍然要通過FlashCom服務(wù)器。這部分的具體實(shí)施細(xì)節(jié)留待Chat組件的使用描述。
這里再講下如何添加自己的表情符號(hào),一般使用默認(rèn)的表情符號(hào)也夠用了。因?yàn)椋砑幼远x的表情符號(hào)有些復(fù)雜。
首先,找到隱藏的assets圖層,選中smiLibrary_mc實(shí)例->編輯后,可以在第二幀找到表情MC庫(kù),除了添加自定義表情MC為,不要忘了注冊(cè)表情實(shí)例,通過使用registerSmiley(smiVarsObj)方法。
smiVarsObj是一個(gè)表情對(duì)象,主要包含屬性:
-
_w?
:?
表情MC的寬度
-
_h?
:?
表情MC的高度
-
_code?
:?
表情對(duì)應(yīng)的代碼
-
_link?
:?
表情對(duì)應(yīng)的實(shí)例名
-
_anim?
:?
是否有動(dòng)畫
-
_code和_link屬性是必須的,其實(shí)還有_show?和?_base?屬性不太常用,可以不用理會(huì)。
注冊(cè)方法如:
1 : #initclip 2
2 : SMI_NS.registerSmiley({ _code:':kiss:', _link:'smi_kiss', _w:37, _anim:true });
3 : #endinitclip
曾經(jīng)一直想把SmileyTextField組件的顯示框換成V2組件的文本框,但是問題很多,有朋友解決不妨交流下