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

            l

            成都手游碼農(nóng)一枚
            隨筆 - 32, 文章 - 0, 評(píng)論 - 117, 引用 - 0
            數(shù)據(jù)加載中……

            [cocos2d-x] RichText 雜記三。

            上一篇博客嘗試性在cocos2d-x中使用freetype,由于項(xiàng)目進(jìn)度,近期沒(méi)怎么研究,苦逼加班族?,F(xiàn)在稍微閑下來(lái)了在小談一下這個(gè)話(huà)題。

            這幾天稍微閑了下,于是打算把freetype集成到公司項(xiàng)目中,這里先總結(jié)下,代碼不能上傳,因?yàn)樵诠緵](méi)權(quán)限- -!

            1.上一篇文章中的的描邊其實(shí)有兩處內(nèi)存泄漏, Get_Glayph后沒(méi)有調(diào)用Done_Glayph。
            2.文字渲染可以glTexSubImage2D函數(shù)來(lái)替換,也可以一次性通過(guò)Rgb數(shù)據(jù)生成紋理,注意要設(shè)置紋理幾個(gè)參數(shù),否則拉伸了可能會(huì)出現(xiàn)模糊不清,而且初始化創(chuàng)建紋理時(shí)應(yīng)該填充為透明色。同事要注意這個(gè)函數(shù),如果你的x+w大于整個(gè)紋理寬度是會(huì)報(bào)錯(cuò)的,文字也就不見(jiàn)了,要小心。
            3.android 加載字體可以直接加載,不需要從內(nèi)存中讀取,因?yàn)橄到y(tǒng)字體目錄是可以直接訪(fǎng)問(wèn)讀取的。
            4.字體緩存我的實(shí)現(xiàn)方法是利用FTC_Manager的前提下將每個(gè)字母的RGB數(shù)據(jù)緩存,下次渲染如果發(fā)現(xiàn)效果大小一樣的舊直接返回不再去讀取,要注意的是FTC_Mananger_LookupSize 函數(shù)返回的FT_Size結(jié)構(gòu),所以不能通過(guò)它來(lái)索引緩存,而應(yīng)該用實(shí)際字體Size,還有就是FT_Size在使用前一定要確保是最新的哦,這里東西是不能長(zhǎng)時(shí)間保留的,也就是說(shuō)查找一次用一次。
            5.注意android紋理限制,2048*2048,所以對(duì)于很長(zhǎng)的文本要注意了。
            6.為了兼容以前的一些代碼,現(xiàn)在我是直接將CCLabellTTF的實(shí)現(xiàn)替換了,所以同時(shí)要注意兩個(gè)布局參數(shù),調(diào)整好了后你會(huì)發(fā)現(xiàn)在PC端使用android系統(tǒng)字體的話(huà)整體效果應(yīng)該是和在android上一樣,這樣就很方便在PC端查看效果了,美術(shù)也就方便不少了。

            暫且就想到了這些,整體來(lái)說(shuō)目前測(cè)試出的效果目前運(yùn)行的還算比較流暢的。

            posted on 2013-12-06 18:26 l1989 閱讀(5238) 評(píng)論(7)  編輯 收藏 引用 所屬分類(lèi): C++ 、游戲

            評(píng)論

            # re: [cocos2d-x] RichText 雜記三。  回復(fù)  更多評(píng)論   

            你好,請(qǐng)問(wèn)一下你的freetype是怎樣編譯過(guò)的啊
            2013-12-07 17:37 | Damein

            # re: [cocos2d-x] RichText 雜記三。  回復(fù)  更多評(píng)論   

            目前我使用cocos2d-x已經(jīng)編譯好的freetype庫(kù)能顯示了,但排版還是不懂,博主能指導(dǎo)一下嗎
            2013-12-09 19:31 | Damein

            # re: [cocos2d-x] RichText 雜記三。[未登錄](méi)  回復(fù)  更多評(píng)論   

            @Damein
            編譯那塊我也是用的已經(jīng)編譯好的

            字體排版freetype文檔中有例子,主要是一些排版參數(shù),富文本排版可以通過(guò)一個(gè)字一個(gè)字的組合,字的大小是已經(jīng)知道的,可以先把大小、顏色一樣的字集合到一起組成一個(gè)長(zhǎng)串,長(zhǎng)度寬度也是可以計(jì)算出來(lái)的,然后再將這些串來(lái)進(jìn)行排版,主要是換行。
            2013-12-10 09:19 | azl

            # re: [cocos2d-x] RichText 雜記三。  回復(fù)  更多評(píng)論   

            https://github.com/happykevins/cocos2dx-ext

            這個(gè)人已經(jīng)做出來(lái)了
            2013-12-17 16:50 | h

            # re: [cocos2d-x] RichText 雜記三。[未登錄](méi)  回復(fù)  更多評(píng)論   

            我遇到下面的情況:
            setDesignResolutionSize設(shè)置為1024*768
            實(shí)際手機(jī)窗口的分辨率是1280*720
            這種情況下我的freetype實(shí)現(xiàn)方案文字會(huì)出現(xiàn)模糊
            引擎原生的cclabelttf就不會(huì)出現(xiàn)這個(gè)問(wèn)題
            請(qǐng)問(wèn)這種情況你們遇到嗎?怎么解決的?
            2013-12-31 17:13 | whier

            # re: [cocos2d-x] RichText 雜記三。[未登錄](méi)  回復(fù)  更多評(píng)論   

            @whier
            起初我的做法是直接通過(guò)RGB數(shù)據(jù)生成紋理貼圖,也出現(xiàn)了你說(shuō)的這種情況。
            后來(lái)我是通過(guò)預(yù)先創(chuàng)建好紋理,在通過(guò)glTexSubImage2D來(lái)修改紋理數(shù)據(jù),問(wèn)題就解決了。估計(jì)應(yīng)該是紋理設(shè)置之類(lèi)參數(shù)造成的,你可以好好檢查下。
            2014-01-01 10:30 | azl

            # re: [cocos2d-x] RichText 雜記三。[未登錄](méi)  回復(fù)  更多評(píng)論   

            多謝博主指點(diǎn)。
            知道原因了,適應(yīng)多種屏幕分辨率,渲染文字時(shí)的頂點(diǎn)數(shù)據(jù)不是直接取紋理的寬高計(jì)算,而是需要根據(jù)content factor縮放下,保證渲染時(shí),渲染區(qū)域和紋理大小一致,這樣就不會(huì)出現(xiàn)拉伸了
            樓上h提到的https://github.com/happykevins/cocos2dx-ext項(xiàng)目沒(méi)有自適應(yīng)屏幕分辨率,需要對(duì)代碼進(jìn)行一些改造才不會(huì)拉伸
            2014-01-02 11:25 | whier
            久久频这里精品99香蕉久| 久久亚洲春色中文字幕久久久| A级毛片无码久久精品免费| 精品无码久久久久久久动漫| 久久亚洲AV无码西西人体| 亚洲中文字幕无码久久综合网| 国产精品青草久久久久婷婷| 无码乱码观看精品久久| 欧美久久精品一级c片片| 2021久久精品免费观看| 99久久夜色精品国产网站| 久久久久久国产精品美女| 久久精品国产福利国产秒| 99精品国产免费久久久久久下载| 久久亚洲国产中v天仙www| 亚洲中文久久精品无码| 亚洲精品视频久久久| 久久国产精品无码网站| 久久不射电影网| 国产精品久久久久久| 久久亚洲AV成人无码电影| 三级三级久久三级久久| 久久香蕉国产线看观看99| 久久精品国产亚洲AV麻豆网站| 久久亚洲欧洲国产综合| 国产精品激情综合久久| 好久久免费视频高清| 精品久久香蕉国产线看观看亚洲| 无码人妻精品一区二区三区久久久| 伊人久久大香线蕉无码麻豆| 久久有码中文字幕| 亚洲午夜精品久久久久久app| 久久99精品免费一区二区| 久久久网中文字幕| 日本亚洲色大成网站WWW久久| 久久精品国产72国产精福利| 国产无套内射久久久国产| 精品久久久久久无码人妻热 | 亚洲中文字幕伊人久久无码| 久久天天躁狠狠躁夜夜av浪潮| 久久久久亚洲AV成人网|