• <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
            久久久91精品国产一区二区三区| 久久久久九九精品影院| 成人妇女免费播放久久久| 一级做a爰片久久毛片16| 欧美粉嫩小泬久久久久久久| 久久亚洲精品中文字幕| 国产精品伦理久久久久久 | 久久99精品久久久久久| 亚洲国产成人久久综合区| 久久国产精品成人免费| 国产精品久久久久久久人人看| 亚洲综合久久综合激情久久| 国产美女亚洲精品久久久综合| 亚洲国产成人久久综合一 | 国产真实乱对白精彩久久| 亚洲av日韩精品久久久久久a| 久久人人爽人爽人人爽av| 国产精品久久久久AV福利动漫 | 亚洲精品成人网久久久久久| 亚洲国产精品久久| a高清免费毛片久久| 色综合久久久久久久久五月| 久久久亚洲裙底偷窥综合| 日本加勒比久久精品| 久久久久人妻一区精品果冻| 久久夜色精品国产亚洲| 精品国产福利久久久| 精品久久久久久久久午夜福利| 少妇久久久久久久久久| 人妻无码αv中文字幕久久| 奇米综合四色77777久久| 久久久久无码精品国产| 国产亚洲欧美精品久久久| 国产精品99久久99久久久| 久久人人爽爽爽人久久久| 国内精品久久久久久99| 久久w5ww成w人免费| 九九久久99综合一区二区| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 99蜜桃臀久久久欧美精品网站| 亚洲国产一成久久精品国产成人综合|