青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

劍孤寒的小站

人生的價(jià)值不是用時(shí)間,而是用深度去衡量的!
posts - 75, comments - 290, trackbacks - 0, articles - 0
     這一節(jié)我們來學(xué)習(xí)如何使用字體,首先我們要?jiǎng)?chuàng)建一個(gè)字體,在GGE中用Font_Create (LPCSTR fontname, int size=16, bool bBold=false, bool bBorder=false)函數(shù)來創(chuàng)建一個(gè)字體。fontname表示字體名字,可以使用任何已在操作系統(tǒng)中注冊(cè)過的字體,如果找不到指定的字體,將使用系統(tǒng)默認(rèn)字體。size參數(shù)表示字體大小,單位為像素,默認(rèn)的字體大小為16x16像素。如果希望使用粗體字,可將bBold參數(shù)設(shè)為true。bBorder參數(shù)則用于設(shè)置是否給字體加上邊框,邊框的顏色也是可以設(shè)置的。

    在OnInitiate()函數(shù)中添加創(chuàng)建字體代碼:

m_font = Font_Create("宋體"18falsetrue);
  創(chuàng)建成功會(huì)返回一個(gè)ggeFont指針,順便設(shè)置一下字體邊框的顏色
m_font->SetBorderColor(0xFF0000FF);

    ggeFont提供了兩個(gè)函數(shù)來將文字顯示在屏幕上,分別是gge::Render()gge::Print(),后者有點(diǎn)像printf()函數(shù)可以格式化字符串。在顯示文字時(shí)可以設(shè)置文字的對(duì)齊樣式,ggeFont提供了三種對(duì)齊樣式:左對(duì)齊、右對(duì)齊、居中對(duì)齊,可以通過ggeFont::SetAlign()函數(shù)進(jìn)行設(shè)置。

       //設(shè)置對(duì)齊樣式
        Graph_RenderLine(128012860); 
        m_font
->SaveState(); //保存當(dāng)前狀態(tài)
        m_font->SetColor(0xFFFFFFFF);
        m_font
->SetAlign(TEXT_LEFT);
        m_font
->Render(1280"左對(duì)齊");
        m_font
->SetAlign(TEXT_CENTER);
        m_font
->Render(12820"居中對(duì)齊");
        m_font
->SetAlign(TEXT_RIGHT);
        m_font
->Render(12840"右對(duì)齊");
        m_font
->LoadState(); //恢復(fù)以前的狀態(tài)

    前面代碼中的ggeFont::SaveState()ggeFont::LoadState()用于保存和恢復(fù)字體狀態(tài),以免前面改變的字體狀態(tài)會(huì)影響后面的文字顯示,而且也不用每次改了狀態(tài)后都要人肉改回來了。

    在一些游戲中可能需要讓文字逐字顯示出來,ggeFont提供了一個(gè)函數(shù)ggeFont::SetCharNum()來做這件事情,另外在游戲中可能需要顯示一些關(guān)鍵字,ggeFont提供了一個(gè)顏色標(biāo)簽功能,使得可以在顯示文字時(shí)動(dòng)態(tài)改變后面的文字顏色。
        //顯示一定數(shù)量的文字
        int maxChar = m_font->GetStringInfo("字體測(cè)試");
        
if (Timer_GetTime() - m_charTime > 1
        
{
            
if (m_charNum >= maxChar) m_charNum = 0;
            
else m_charNum++;

            m_charTime 
= Timer_GetTime();
        }

        m_font
->SaveState(); //保存當(dāng)前狀態(tài)
        m_font->SetCharNum(m_charNum); //設(shè)置顯式的文字?jǐn)?shù)量
        m_font->Render(0100"<cff0000>字<cffff00>體<cff00ff>測(cè)<c00ffff>試"); //顯示文字
        m_font->LoadState(); //恢復(fù)以前的狀態(tài)
        m_font->Print(0120"正在顯示第%d個(gè)字。", m_charNum);

    這段代碼先通過ggeFont::GetStringInfo()函數(shù)拿到字符串文字?jǐn)?shù)量(也可以拿到字符串其它一些信息,詳細(xì)說明請(qǐng)查看引擎文檔),然后用ggeFont::SetCharNum()設(shè)置每次要顯示的文字?jǐn)?shù)量,在顯示文字時(shí)通過在文字前加上類似<cff0000>的顏色標(biāo)簽來動(dòng)態(tài)改變字符串中的文字顏色。

    有時(shí)候在顯示一段文字時(shí)可能想要文字根據(jù)某個(gè)寬度自動(dòng)換行,ggeFont提供了一個(gè)ggeFont::SetLingWidth()來做這件事情。
        //設(shè)置行間距、字間距以及換行
        m_font->SaveState();
        m_font
->SetLineSpace(4);
        m_font
->SetCharSpace(2);
        m_font
->SetLineWidth(140);
        m_font
->Render(0180"這段文字的行間距為4,字間距為2,每行如果超過140個(gè)像素則自動(dòng)換行。");
        m_font
->LoadState();
    以上介紹了ggeFont的一些常用功能,還有一些例如裁剪、陰影等功能就不一一舉例了,文檔里都有詳細(xì)說明。


Feedback

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復(fù)  更多評(píng)論   

2011-08-26 20:49 by nana
博主你好,用3.6版本測(cè)試以上程序,發(fā)現(xiàn)Font類的SaveState()和LoadState()函數(shù)取消了;顏色標(biāo)簽效果好像也沒有了,求解答。

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復(fù)  更多評(píng)論   

2011-08-29 09:16 by 劍孤寒
Font類的顏色標(biāo)簽已經(jīng)取消了,因?yàn)橐呀?jīng)提供了ggeGuiRichText支持圖文混排等各種高級(jí)文字功能,有了ggeGuiRichText后SaveState()/LoadState()函數(shù)也不需要了,因?yàn)槊總€(gè)ggeGuiRichText內(nèi)部狀態(tài)是自己管理的,不需要再那么麻煩的人肉管理字體狀態(tài)了

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復(fù)  更多評(píng)論   

2015-11-04 11:36 by shepherd
ggeFont使用出錯(cuò)。
首先是在初始化函數(shù)中生成:
debug = Font_Create ("./ui/font/STFANGSO.TTF", 16, FONT_MODE_DEFAULT);
然后設(shè)置:
debug->SetColor(0xFF00FFFF);
debug->SetBlendMode(BLEND_COLORMUL | BLEND_ALPHAMUL | BLEND_ZWRITE);
再在渲染函數(shù)中:
debug->SetZ(0.01f);
debug->Render(0.0f, 0.0f, "10086");

輸出窗口無任何顯示。請(qǐng)?jiān)诰€DEBUG,呵呵

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復(fù)  更多評(píng)論   

2015-11-07 22:12 by 劍孤寒
@shepherd
已經(jīng)試過了,木有發(fā)現(xiàn)問題,你發(fā)個(gè)能重現(xiàn)問題的小程序以及相關(guān)字體到我郵箱吧

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復(fù)  更多評(píng)論   

2015-11-08 04:17 by shepherd
已發(fā)!
多謝!!

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復(fù)  更多評(píng)論   

2015-11-08 11:38 by 劍孤寒
@shepherd
你的代碼頁設(shè)置有問題,應(yīng)該用936,其實(shí)如果你只是做中文游戲就不需要修改這個(gè)設(shè)置,除非你要做其他語言的游戲如日/韓游戲才需要修改這個(gè)設(shè)置

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復(fù)  更多評(píng)論   

2015-11-08 20:56 by shepherd
已正常運(yùn)行,多謝!正在找一種合適的字體,要中英文顯示都看得過去,似乎不太容易找呢
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美女免费视频一区| 亚洲电影在线免费观看| 亚洲午夜精品一区二区| 亚洲激情二区| 亚洲大片一区二区三区| 亚洲第一福利视频| 亚洲精品一级| 亚洲视频一区二区| 午夜在线精品偷拍| 免费不卡在线观看av| 欧美大胆人体视频| 欧美视频官网| 国产综合一区二区| 亚洲精品国产欧美| 中文亚洲字幕| 久久久伊人欧美| 亚洲国产精品久久久久久女王| 亚洲第一区在线观看| 一本大道久久a久久精品综合| 性做久久久久久久免费看| 久久午夜激情| 国产精品久久亚洲7777| 狠狠久久亚洲欧美| 亚洲欧美精品| 欧美黄色精品| 欧美一级视频精品观看| 免费不卡欧美自拍视频| 国产精品亚洲不卡a| 亚洲黄一区二区三区| 亚洲视频碰碰| 免费成人你懂的| 中国成人在线视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩国产综合视频在线观看中文 | 美女性感视频久久久| 亚洲区第一页| 久久xxxx| 国产精品三级视频| 一区二区三区高清不卡| 美女黄毛**国产精品啪啪| 一区二区三区蜜桃网| 欧美成人午夜| 激情综合在线| 午夜精品美女自拍福到在线 | 亚洲高清视频一区| 久久国产精品久久精品国产| 亚洲免费在线精品一区| 亚洲国产精品久久人人爱蜜臀 | 欧美成人综合一区| 欧美自拍偷拍午夜视频| 一本色道久久加勒比88综合 | 国产日韩视频| 亚洲小说欧美另类婷婷| 亚洲国产日日夜夜| 久久网站热最新地址| 国产一区二区三区无遮挡| 亚洲视频一区二区| 亚洲精品欧美极品| 欧美国产日韩一区二区三区| 亚洲激情小视频| 欧美成人网在线| 久热精品视频在线| 亚洲国产va精品久久久不卡综合| 久久精品成人一区二区三区| 亚洲视频在线看| 国产精品麻豆欧美日韩ww| 亚洲丝袜av一区| 日韩网站在线观看| 国产精品国产成人国产三级| 亚洲欧美成人一区二区三区| 亚洲视频axxx| 国产日韩欧美日韩| 免费在线观看日韩欧美| 媚黑女一区二区| 日韩亚洲精品视频| 亚洲图色在线| 黄色成人免费网站| 亚洲国产成人久久综合| 欧美日韩专区| 久久免费观看视频| 欧美成人午夜77777| 亚洲视频在线看| 亚洲综合国产| 在线观看亚洲视频| 日韩一区二区久久| 国产日产欧产精品推荐色| 久久久综合网| 欧美激情综合亚洲一二区| 亚洲欧美日本日韩| 久久久视频精品| 亚洲天堂偷拍| 久久精品日产第一区二区三区 | 亚洲二区在线| 99精品欧美一区二区三区| 国产欧美精品一区| 蜜桃av噜噜一区| 国产精品v日韩精品| 老司机精品视频网站| 欧美性猛交xxxx乱大交退制版| 久久久综合精品| 国产精品视频免费| 亚洲午夜免费福利视频| 狠狠干成人综合网| 亚洲开发第一视频在线播放| 国产精品一区二区久久精品 | 一区二区三区免费网站| 国产一区在线视频| 亚洲人体大胆视频| 国产亚洲欧洲一区高清在线观看 | 亚洲电影第三页| 国产精品久久久久一区二区三区共| 久久久夜精品| 国产精品国产三级国产aⅴ9色 | 亚洲国产高清在线观看视频| 国产精品mm| 亚洲国产国产亚洲一二三| 国产亚洲欧美中文| 亚洲小说欧美另类社区| 91久久精品国产91性色| 久久精品亚洲精品| 欧美一区二区高清| 欧美少妇一区二区| 亚洲精选一区| 亚洲理伦电影| 另类成人小视频在线| 久久综合伊人77777麻豆| 国产精品亚洲成人| 亚洲欧美日韩中文播放| 亚洲——在线| 欧美理论电影在线观看| 欧美激情精品久久久久久| 狠狠色狠狠色综合日日tαg| 亚洲欧美精品伊人久久| 亚洲尤物精选| 国产精品高精视频免费| 在线一区日本视频| 亚洲一二三区视频在线观看| 欧美精品在线观看| 日韩视频免费观看| 亚洲午夜女主播在线直播| 欧美日韩免费观看一区=区三区| 欧美激情精品久久久久久变态 | 久久在线免费视频| 国内精品一区二区| 久久久久欧美精品| 欧美激情一区二区三区在线视频观看| 国模大胆一区二区三区| 欧美影院在线播放| 美女视频黄免费的久久| 亚洲经典视频在线观看| 欧美精品成人91久久久久久久| 亚洲区一区二区三区| 一区二区三区四区精品| 欧美三级第一页| 亚洲男女自偷自拍| 久久激五月天综合精品| 在线播放不卡| 欧美日韩亚洲视频| 午夜在线视频观看日韩17c| 久久国产精品一区二区| 在线观看亚洲一区| 欧美三级电影大全| 午夜欧美不卡精品aaaaa| 国产日韩在线亚洲字幕中文| 久久躁日日躁aaaaxxxx| 亚洲福利电影| 欧美日韩亚洲天堂| 午夜精品久久久久久久蜜桃app| 久久色中文字幕| 亚洲理论在线观看| 欧美深夜福利| 久久久av毛片精品| 亚洲精品网站在线播放gif| 亚洲欧美一区二区视频| 国产一区二区三区的电影| 免费欧美日韩国产三级电影| 亚洲九九九在线观看| 国产婷婷成人久久av免费高清| 久久亚裔精品欧美| 亚洲婷婷综合色高清在线| 欧美成人黄色小视频| 亚洲嫩草精品久久| 亚洲国产清纯| 国产精品美女久久久免费| 牛人盗摄一区二区三区视频| 亚洲欧美日韩综合| 亚洲欧洲日产国产网站| 久久精品人人做人人爽电影蜜月| 亚洲美女av在线播放| 极品尤物久久久av免费看| 国产精品高清一区二区三区| 欧美成人情趣视频| 欧美激情aⅴ一区二区三区| 欧美一级电影久久| 9人人澡人人爽人人精品| 欧美啪啪一区| 美女精品在线观看| 欧美一区二区三区喷汁尤物| 一本不卡影院| 亚洲欧洲日韩在线|