• <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>

            勤能補拙,Expter

            成都游戲Coder,記錄游戲開發過程的筆記和心得!

            在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式.

                   author:expter
                   date:   2010/07/31
               
                上次寫的超鏈接是重寫了一個單獨的超鏈接控件,主要實現文本的鼠標事件和文本下劃線,靜態圖像的顯示,主要寫的渲染過程,這次為了解決動態圖片(比如gif有多幀實現的解決方案).

                注:主要針對當前CEGUI的最新庫0.7.1。

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

             

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

            其實是動態表情,只是切的圖片不能顯示了:

            要實現一個與游戲相關的聊天窗口基本功能都具備了,這里包括實現超鏈接,表情圖片,圖片的功能。

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



            源碼功能上相對比較簡單,CEGUI庫做了相應的修改。


                           

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

            評論

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2010-07-31 14:04 ccsdu2009

            cegui太大了  回復  更多評論   

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2010-07-31 14:20 expter

            @ccsdu2009
            現在客戶端項目UI用的CEGUI,就是學習下用法。。積累點他的設計思想!
              回復  更多評論   

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2010-10-24 05:47 zmy

            @expter
            這句話我很贊同,因為通用性做的太好,導致復雜難用,且損失了不少性能,而特定游戲項目只用特定一部分,再說UI開發簡單沒必要這么折騰~不過里面的設計思想確實是好,只能用漂亮來形容,好多地方設計的都是非常巧妙以后碰到類似問題可以借鑒參考~  回復  更多評論   

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2011-03-14 11:26 ogre2012

            我的動畫是實現了,但是不知道怎么結合到聊天窗口中  回復  更多評論   

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2011-03-15 15:07 expter

            @ogre2012
            聊天窗口可以通過listbox來實現。
              回復  更多評論   

            # re: 在CEGUI顯示GIF圖像,簡單的聊天窗口實現方式. 2011-12-02 18:13 曹翔

            可以給我發一份代碼嗎?我現在急需這個
            謝謝  回復  更多評論   

            久久人人爽人人人人片av| 国产成人久久AV免费| 曰曰摸天天摸人人看久久久| 国内精品久久久久久野外| 伊人丁香狠狠色综合久久| 久久天天躁狠狠躁夜夜av浪潮 | 青青青国产成人久久111网站| 亚洲乱亚洲乱淫久久| 亚洲乱码日产精品a级毛片久久| 怡红院日本一道日本久久| 免费无码国产欧美久久18| 99久久精品午夜一区二区| 久久综合久久鬼色| 久久精品国产亚洲AV嫖农村妇女| 青青草原综合久久大伊人精品| 伊人久久综合精品无码AV专区| 7国产欧美日韩综合天堂中文久久久久 | 久久亚洲春色中文字幕久久久 | 久久久久久无码Av成人影院| 精品久久久久久久中文字幕| 亚洲AV无码久久| 国产精品久久久久久久人人看| 久久午夜电影网| 久久久久AV综合网成人| 久久人人青草97香蕉| 国产无套内射久久久国产| 国产精品无码久久综合| 99久久精品免费看国产一区二区三区| 久久精品这里热有精品| 久久精品免费一区二区三区| 精品一区二区久久久久久久网站| 狠狠色婷婷久久综合频道日韩| 久久久精品国产Sm最大网站| A级毛片无码久久精品免费| 人妻无码久久精品| 久久精品国产精品亚洲| 久久亚洲国产精品五月天婷| 国内精品欧美久久精品| 久久AⅤ人妻少妇嫩草影院| 精品国产青草久久久久福利| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 |