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

劍孤寒的小站

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

    在OnInitiate()函數中添加創建字體代碼:

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

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

       //設置對齊樣式
        Graph_RenderLine(128012860); 
        m_font
->SaveState(); //保存當前狀態
        m_font->SetColor(0xFFFFFFFF);
        m_font
->SetAlign(TEXT_LEFT);
        m_font
->Render(1280"左對齊");
        m_font
->SetAlign(TEXT_CENTER);
        m_font
->Render(12820"居中對齊");
        m_font
->SetAlign(TEXT_RIGHT);
        m_font
->Render(12840"右對齊");
        m_font
->LoadState(); //恢復以前的狀態

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

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

            m_charTime 
= Timer_GetTime();
        }

        m_font
->SaveState(); //保存當前狀態
        m_font->SetCharNum(m_charNum); //設置顯式的文字數量
        m_font->Render(0100"<cff0000>字<cffff00>體<cff00ff>測<c00ffff>試"); //顯示文字
        m_font->LoadState(); //恢復以前的狀態
        m_font->Print(0120"正在顯示第%d個字。", m_charNum);

    這段代碼先通過ggeFont::GetStringInfo()函數拿到字符串文字數量(也可以拿到字符串其它一些信息,詳細說明請查看引擎文檔),然后用ggeFont::SetCharNum()設置每次要顯示的文字數量,在顯示文字時通過在文字前加上類似<cff0000>的顏色標簽來動態改變字符串中的文字顏色。

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


Feedback

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復  更多評論   

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

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復  更多評論   

2011-08-29 09:16 by 劍孤寒
Font類的顏色標簽已經取消了,因為已經提供了ggeGuiRichText支持圖文混排等各種高級文字功能,有了ggeGuiRichText后SaveState()/LoadState()函數也不需要了,因為每個ggeGuiRichText內部狀態是自己管理的,不需要再那么麻煩的人肉管理字體狀態了

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復  更多評論   

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

輸出窗口無任何顯示。請在線DEBUG,呵呵

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復  更多評論   

2015-11-07 22:12 by 劍孤寒
@shepherd
已經試過了,木有發現問題,你發個能重現問題的小程序以及相關字體到我郵箱吧

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復  更多評論   

2015-11-08 04:17 by shepherd
已發!
多謝!!

# re: Galaxy2D游戲引擎教程5 - 使用字體  回復  更多評論   

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

# re: Galaxy2D游戲引擎教程5 - 使用字體[未登錄]  回復  更多評論   

2015-11-08 20:56 by shepherd
已正常運行,多謝!正在找一種合適的字體,要中英文顯示都看得過去,似乎不太容易找呢
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲巨乳在线| 在线激情影院一区| 99视频一区二区| 免费观看30秒视频久久| 午夜精品在线观看| 欧美一区影院| 免费亚洲电影在线| 欧美极品aⅴ影院| 亚洲一区www| 欧美成人免费观看| 欧美一区二区三区视频| 亚洲欧美文学| 欧美日本一区二区视频在线观看| 欧美日韩亚洲一区二区三区在线观看 | 日韩一区二区免费看| 亚洲欧洲在线一区| 在线视频你懂得一区| 欧美日韩国产成人高清视频| 欧美少妇一区| 国产色综合久久| 在线观看视频一区二区| 99精品99久久久久久宅男| 亚洲欧美在线aaa| 免播放器亚洲一区| 亚洲私拍自拍| 久久一本综合频道| 国产精品激情偷乱一区二区∴| 国产一区二区三区免费在线观看| 日韩一级黄色片| 老司机午夜精品视频| 亚洲视频播放| 欧美激情一区二区三区全黄| 国产一区二区三区在线播放免费观看| 艳女tv在线观看国产一区| 久久成人免费视频| 日韩午夜激情电影| 欧美成人免费视频| 狠色狠色综合久久| 性欧美办公室18xxxxhd| 91久久亚洲| 午夜精品久久久久久久99黑人| 欧美美女视频| 亚洲精品一区久久久久久| 在线精品福利| 国产精品超碰97尤物18| 久久疯狂做爰流白浆xx| 欧美本精品男人aⅴ天堂| 91久久夜色精品国产网站| 欧美日韩中文字幕精品| 欧美一区二区三区免费观看视频| 久久精品国产一区二区三区免费看| 悠悠资源网亚洲青| 亚洲日本电影| 国产精品综合| 欧美电影免费观看高清| 欧美日韩精选| 久久人体大胆视频| 欧美日在线观看| 久久综合色综合88| 国产精品九九| 亚洲激情网址| 国产精品igao视频网网址不卡日韩 | 91久久久久久国产精品| 亚洲毛片在线免费观看| 欧美韩日一区二区| 亚洲精品国产系列| 亚洲电影激情视频网站| 欧美va天堂| 亚洲日本一区二区三区| 亚洲成人在线网站| 欧美黑人在线观看| 一本色道久久综合精品竹菊 | 欧美特黄一级大片| 亚洲一级免费视频| 午夜日韩在线| 亚洲国产一二三| 99视频热这里只有精品免费| 国产女主播在线一区二区| 久久人人爽人人爽| 欧美激情精品久久久久久蜜臀 | 欧美国产日韩一区二区在线观看 | 免费在线欧美视频| 欧美成人有码| 亚洲人成人77777线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲精品欧洲精品| 亚洲欧美日韩一区在线观看| 欧美三级乱人伦电影| 中文欧美字幕免费| 久久精品中文| 亚洲精品美女久久7777777| 99re视频这里只有精品| 国产精品久久久对白| 欧美一区国产二区| 亚洲人成在线播放| 亚洲欧美三级伦理| 亚洲最新合集| 亚洲免费观看| 国产三级欧美三级| 亚洲第一二三四五区| 欧美视频在线免费看| 麻豆av一区二区三区久久| 亚洲第一精品久久忘忧草社区| 亚洲性图久久| 久久久久久久久一区二区| 99视频国产精品免费观看| 欧美在线视频免费| 亚洲一区二区在线看| 欧美a级一区二区| 久久国产精品亚洲va麻豆| 欧美日韩国产区| 欧美激情一区二区三区不卡| 国产一区日韩二区欧美三区| 亚洲色诱最新| 中文av一区特黄| 欧美国产精品| 亚洲电影免费在线观看| 伊人成人在线视频| 久久大逼视频| 久久久久一区| 国产一区在线观看视频| 亚洲欧美日韩第一区| 亚洲网站在线观看| 欧美日韩成人激情| 亚洲精品乱码久久久久久蜜桃91| 亚洲福利视频网| 久久亚洲欧美| 麻豆成人小视频| 亚洲第一级黄色片| 久久亚洲电影| 欧美激情第9页| 亚洲国产合集| 免费观看成人www动漫视频| 欧美sm极限捆绑bd| 国产在线精品一区二区中文| 欧美一区三区二区在线观看| 亚洲免费一区二区| 欧美性猛交99久久久久99按摩 | 小处雏高清一区二区三区| 亚洲图片欧洲图片av| 欧美日韩精品一区二区天天拍小说 | 国产精品视频xxx| 一区二区三区精品视频在线观看| 一区二区三区色| 欧美日韩在线综合| 一本不卡影院| 久久国产精品电影| 亚洲电影免费观看高清完整版在线观看| 久久视频在线免费观看| 亚洲激情一区二区| 亚洲图片在线| 国产午夜亚洲精品羞羞网站| 久久视频在线免费观看| 91久久综合| 亚洲欧美福利一区二区| 国产亚洲成精品久久| 久久最新视频| 一本色道久久综合| 久久久青草青青国产亚洲免观| 在线观看日韩欧美| 欧美日韩精品系列| 久久99在线观看| 最新中文字幕一区二区三区| 欧美一区二区大片| 91久久夜色精品国产九色| 国产精品扒开腿爽爽爽视频 | 一区二区黄色| 久久久久久久综合| 99精品视频免费全部在线| 国产日韩欧美制服另类| 欧美黄色aa电影| 久久国产99| 99在线|亚洲一区二区| 久久人人97超碰精品888| 夜夜嗨av一区二区三区网站四季av| 国产精品亚洲综合一区在线观看| 玖玖综合伊人| 欧美在线观看视频在线| 一区二区久久久久| 欧美激情麻豆| 久久精品中文字幕一区二区三区| 99re热这里只有精品视频| 狠狠色丁香久久综合频道| 欧美日精品一区视频| 老司机亚洲精品| 在线一区二区三区四区五区| 欧美国产一区在线| 久久亚洲精品一区二区| 午夜精品视频在线观看| 亚洲欧洲一区二区在线观看| 国外成人在线| 国产精一区二区三区| 欧美日韩爆操| 欧美精品粉嫩高潮一区二区 | 欧美不卡激情三级在线观看| 亚洲特色特黄| 亚洲人成网站影音先锋播放| 国产一区二区三区观看| 欧美先锋影音| 久久免费的精品国产v∧|