• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            勤能補(bǔ)拙,Expter

            成都游戲Coder,記錄游戲開發(fā)過(guò)程的筆記和心得!

            在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式.

                   author:expter
                   date:   2010/07/31
               
                上次寫的超鏈接是重寫了一個(gè)單獨(dú)的超鏈接控件,主要實(shí)現(xiàn)文本的鼠標(biāo)事件和文本下劃線,靜態(tài)圖像的顯示,主要寫的渲染過(guò)程,這次為了解決動(dòng)態(tài)圖片(比如gif有多幀實(shí)現(xiàn)的解決方案).

                注:主要針對(duì)當(dāng)前CEGUI的最新庫(kù)0.7.1。

                目的:在游戲聊天框中可能有一個(gè)聊天表情,次表情是動(dòng)態(tài)的,需要顯示動(dòng)態(tài)表情圖片,同時(shí)可能有超鏈接等功能,我們約定一種解析格式,然后輸入表情代碼或者超鏈接內(nèi)容即可顯示我們需要的功能。
             
                實(shí)現(xiàn)方式: 
                    由于針對(duì)聊天窗口,所以這里聊天窗口內(nèi)容采用CEGUI::ListBox,每條消息內(nèi)容為L(zhǎng)istBoxTextItem,由于ListBox有滾動(dòng)horzScrollbar條,而一般聊天窗口沒有horzScrollbar此功能,所以假設(shè)一段話過(guò)長(zhǎng)我們需要才分內(nèi)容,可能一條消息包括多條ListBoxTextItem。每行里面可能有文本,表情,圖片,以及超鏈接等.
                  
                   由于CEGUi不能直接解析Gif文件,我們需要把gif的每一幀全部到出來(lái),然后實(shí)現(xiàn)一個(gè)當(dāng)前表情anim控制類,表情管理變量,文件解析類TalkRenderedStringParser。
                   Anim主要記錄當(dāng)前表情應(yīng)該為那幀的哪張圖片。
                  表情管理主要記錄當(dāng)前所有的動(dòng)態(tài)表情,每幀時(shí)間到達(dá)的時(shí)候開始渲染。
                  TalkRenderedStringParser還是一個(gè)文本解析類。

             

            簡(jiǎn)單的ChatList的主要文本如下:
            [C FFFF0000]StaticTxt test1![\\ 1] [\\ 3]
            dasd[\\ 2] [\\ 3] [\\ 4] [\\ 1] [\\ 5]

            其實(shí)是動(dòng)態(tài)表情,只是切的圖片不能顯示了:

            要實(shí)現(xiàn)一個(gè)與游戲相關(guān)的聊天窗口基本功能都具備了,這里包括實(shí)現(xiàn)超鏈接,表情圖片,圖片的功能。

            然后只需要制定分頻道等功能分別顯示不同的聊天信息。



            源碼功能上相對(duì)比較簡(jiǎn)單,CEGUI庫(kù)做了相應(yīng)的修改。


                           

            posted on 2010-07-31 11:58 expter 閱讀(3832) 評(píng)論(6)  編輯 收藏 引用 所屬分類: 其他學(xué)習(xí)筆記工作筆記

            評(píng)論

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2010-07-31 14:04 ccsdu2009

            cegui太大了  回復(fù)  更多評(píng)論   

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2010-07-31 14:20 expter

            @ccsdu2009
            現(xiàn)在客戶端項(xiàng)目UI用的CEGUI,就是學(xué)習(xí)下用法。。積累點(diǎn)他的設(shè)計(jì)思想!
              回復(fù)  更多評(píng)論   

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2010-10-24 05:47 zmy

            @expter
            這句話我很贊同,因?yàn)橥ㄓ眯宰龅奶茫瑢?dǎo)致復(fù)雜難用,且損失了不少性能,而特定游戲項(xiàng)目只用特定一部分,再說(shuō)UI開發(fā)簡(jiǎn)單沒必要這么折騰~不過(guò)里面的設(shè)計(jì)思想確實(shí)是好,只能用漂亮來(lái)形容,好多地方設(shè)計(jì)的都是非常巧妙以后碰到類似問(wèn)題可以借鑒參考~  回復(fù)  更多評(píng)論   

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2011-03-14 11:26 ogre2012

            我的動(dòng)畫是實(shí)現(xiàn)了,但是不知道怎么結(jié)合到聊天窗口中  回復(fù)  更多評(píng)論   

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2011-03-15 15:07 expter

            @ogre2012
            聊天窗口可以通過(guò)listbox來(lái)實(shí)現(xiàn)。
              回復(fù)  更多評(píng)論   

            # re: 在CEGUI顯示GIF圖像,簡(jiǎn)單的聊天窗口實(shí)現(xiàn)方式. 2011-12-02 18:13 曹翔

            可以給我發(fā)一份代碼嗎?我現(xiàn)在急需這個(gè)
            謝謝  回復(fù)  更多評(píng)論   

            久久精品中文闷骚内射| 久久久午夜精品福利内容| 久久人人爽人人爽人人片AV麻烦| 99久久精品国产毛片| 国产91色综合久久免费分享| 久久综合香蕉国产蜜臀AV| 亚洲AV无码久久| 久久久一本精品99久久精品66| 亚洲国产精品无码久久| 一本久久a久久精品亚洲| 狠狠精品久久久无码中文字幕| 中文精品久久久久人妻不卡| 中文字幕久久精品无码| 久久精品无码一区二区无码| 伊人久久大香线蕉影院95| 国产精品免费久久| 免费久久人人爽人人爽av| 日韩人妻无码精品久久免费一| 99久久精品日本一区二区免费| 久久精品国产91久久麻豆自制| 91久久福利国产成人精品| 午夜精品久久影院蜜桃| 久久久亚洲AV波多野结衣| 久久久久一区二区三区| 久久久久久久久久久免费精品| 久久久久亚洲AV片无码下载蜜桃| 亚洲欧美成人综合久久久| 久久最新精品国产| 久久国产欧美日韩精品免费| 久久久久久无码Av成人影院| 久久se精品一区精品二区国产| 国内精品久久久久久久久电影网| 成人久久精品一区二区三区| 亚洲v国产v天堂a无码久久| 精品久久久噜噜噜久久久| 久久久久亚洲AV无码去区首| 亚洲AV无码一区东京热久久 | 合区精品久久久中文字幕一区 | 亚洲日韩欧美一区久久久久我| 久久久久久无码Av成人影院| 青青青青久久精品国产h久久精品五福影院1421 |