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

劍孤寒的小站

人生的價(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>
            最新中文字幕一区二区三区| 国产香蕉97碰碰久久人人| 亚洲激情在线观看视频免费| 欧美成人综合一区| 欧美成人国产va精品日本一级| 亚洲精选视频免费看| 亚洲免费高清视频| 国产精品一二三四区| 国产精品亚洲欧美| 国产情人综合久久777777| 久久久久成人网| 欧美成人中文| 欧美一区=区| 麻豆九一精品爱看视频在线观看免费 | 午夜精品久久久久久久白皮肤| 亚洲视频一区在线| 国内精品视频在线观看| 亚洲国产欧美另类丝袜| 国产精品九色蝌蚪自拍| 老司机午夜精品视频| 欧美日韩国产成人高清视频| 久久久久99| 欧美日韩成人一区二区| 久久夜色精品国产欧美乱极品| 嫩草国产精品入口| 久久都是精品| 欧美日韩国产黄| 久久综合九色九九| 国产精品美女久久福利网站| 欧美v国产在线一区二区三区| 欧美日韩伦理在线免费| 奶水喷射视频一区| 国产精品伊人日日| 99re这里只有精品6| 激情小说亚洲一区| 亚洲一区二区三区中文字幕| 亚洲欧洲一区二区天堂久久 | 欧美国产视频日韩| 国产午夜精品福利| 在线视频精品一区| 亚洲精品自在久久| 久久久久国内| 久久精品国产久精国产爱| 欧美日韩综合在线| 亚洲人成艺术| 亚洲人成亚洲人成在线观看图片 | 亚洲欧美卡通另类91av| 一区二区三区四区五区视频| 免费成人黄色av| 欧美成人日韩| 亚洲国产美女精品久久久久∴| 午夜精品偷拍| 久久国产精品久久久久久久久久| 欧美视频福利| 日韩午夜电影av| 亚洲视频欧美在线| 欧美视频一区在线观看| 亚洲精品少妇| 国产精品99久久久久久久女警| 欧美fxxxxxx另类| 亚洲电影有码| 亚洲精品久久久蜜桃| 欧美成人午夜激情| 亚洲国产婷婷香蕉久久久久久| 亚洲国产小视频| 欧美精品一区二区三区蜜桃| 欧美黄网免费在线观看| 最近看过的日韩成人| 欧美a级片一区| 亚洲国产精品第一区二区| 夜夜嗨av一区二区三区中文字幕| 亚洲精品乱码久久久久| 性久久久久久久| 欧美天天视频| 亚洲精美视频| 免费观看在线综合色| 亚洲欧美日韩精品久久亚洲区 | 亚洲综合色自拍一区| 欧美精品麻豆| 亚洲人成精品久久久久| 久久国产精品第一页| 亚洲一区二区三区中文字幕在线| 老司机精品视频一区二区三区| 国产综合色精品一区二区三区| 亚洲午夜精品17c| 夜夜夜久久久| 国产精品一区2区| 久久久久久久久久久一区| 久久国产婷婷国产香蕉| 国内精品久久久久影院优| 免费久久精品视频| 欧美电影在线| 午夜亚洲福利| 久久野战av| 亚洲午夜av| 久久影音先锋| 在线一区二区视频| 欧美在线视频在线播放完整版免费观看 | 亚洲激情成人| 亚洲视频一区在线观看| 国产一区二区日韩| 亚洲二区在线| 国产婷婷色一区二区三区在线| 噜噜噜躁狠狠躁狠狠精品视频| 欧美成年人在线观看| 亚洲综合导航| 欧美高清一区二区| 久久精品国产清高在天天线 | 欧美国产日韩在线| 在线中文字幕不卡| 女主播福利一区| 久热re这里精品视频在线6| 欧美色图一区二区三区| 欧美大片一区二区| 国产日韩精品一区二区| 亚洲美女中出| 中文亚洲字幕| 欧美精品在线观看| 亚洲高清免费| 亚洲国产免费看| 亚洲精品在线电影| 欧美成va人片在线观看| 免费观看国产成人| 国产综合久久久久影院| 欧美伊人久久| 久久综合伊人77777| 合欧美一区二区三区| 久久精品道一区二区三区| 欧美一区二区三区另类 | 欧美大片在线影院| 亚洲国产精品成人综合| 在线视频国产日韩| 久久久久久夜| 亚洲精品免费一二三区| 亚洲精品影院在线观看| 欧美精品粉嫩高潮一区二区 | 性色av一区二区三区在线观看| 亚洲视频一二| 国产欧美精品一区二区色综合| 亚洲精品免费观看| 亚洲一区日韩| 国产毛片精品国产一区二区三区| 亚洲私人影院| 美乳少妇欧美精品| 亚洲欧洲精品一区二区三区不卡| 欧美另类变人与禽xxxxx| 99精品免费| 久久亚洲综合| 亚洲欧美在线网| 91久久精品美女高潮| 欧美日韩一区在线观看视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲日本欧美在线| 欧美一区二区三区四区夜夜大片 | 亚洲欧美春色| 亚洲国产高潮在线观看| 欧美呦呦网站| 99精品黄色片免费大全| 国产精品日韩专区| 欧美成人高清视频| 欧美一区二区三区啪啪| 亚洲人成久久| 91久久精品国产91久久性色| 久久亚洲精品一区二区| 午夜在线精品偷拍| 一区二区三区欧美在线观看| 在线观看av一区| 亚洲国产欧美不卡在线观看| 国产一区二区成人久久免费影院| 国产精品一区在线播放| 国产精品专区h在线观看| 国产精品久久久久久久9999| 欧美精品一区三区| 欧美视频在线看| 国产精品网站在线观看| 国产精品一区二区三区观看| 国产色综合久久| 精品动漫一区| 日韩亚洲不卡在线| 亚洲午夜久久久久久尤物 | 欧美一区二区三区久久精品茉莉花| 亚洲人成网站色ww在线| 日韩视频中文字幕| 亚洲无线一线二线三线区别av| 中文日韩在线| 久久尤物电影视频在线观看| 欧美视频在线免费| 伊人久久久大香线蕉综合直播| 亚洲欧洲中文日韩久久av乱码| 中文一区二区| 欧美大胆a视频| 亚洲女同同性videoxma| 欧美a级片网站| 国产精品一区毛片| 亚洲精品一区二区三区四区高清| 性欧美长视频| 国内精品视频在线播放| 亚洲理伦在线| 欧美第十八页| 性欧美大战久久久久久久免费观看|