游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2895|回复: 1

盖莫引擎字体渲染的例子

[复制链接]

50

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2010-2-3 11:09:00 | 显示全部楼层 |阅读模式

先上代码

#include <cstdlib>
#include <iostream>
#include <GEngine/Main.hpp>

using namespace std;

const Rectf    rect(10,100,180,40);
const wchar_t* text1 = L"你好盖莫引擎";
const char*    text2 = "Hello GaiMor Engine";  

int main(int argc, char *argv[])
{
    core:evice* device = core::InitDevice("盖莫引擎字体测试");
    device->SetClearColor(core::Color(80,100,230));
   
    //! 启用2D渲染模式
    device->Ortho2D();  
   
    //! 获取资源管理器
    core::ResourceManager* resmgr = device->GetResourceManager();
    //! 获取三个字体指针
    core::RefPtr<core::Text> font1 = resmgr->GetText("heiti","黑体",24);
    core::RefPtr<core::Text> font2 = resmgr->GetText("cour","cour",12);
    core::RefPtr<core::Text> defont= resmgr->GetText("default_font");
   
    font1->UseBorder(true);
  
    BEGIN_LOOP(device)

            //! 在给定矩形中绘制文本
            font1->Render(rect,text1);
        //! 在给定位置渲染文本
            font2->Render(10,10,text2);
        defont->Render(10,50,text2);

    END_LOOP(device)
   
    device->Close();
    device->Drop();
   
    system(&quotAUSE");
    return EXIT_SUCCESS;
}

使用引擎字体的办法就是先获取资源管理器指针
然后从资源管理器获取字体指针
获取字体指针的方式有三个
可以获取给定标号的字体指针
也可以先给出指定字体名字,大小然后获取其字体指针
以后就可以谈过其标号获取其文本指针了
在字体渲染过程中可以给文本上边框和设置字体颜色等操作

具体的贴图如下:



如果有什么问题的话请指正
也欢迎讨论
我的e-mail:ccsdu2009@sohu.com

50

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2010-2-3 11:15:00 | 显示全部楼层

Re:盖莫引擎字体渲染的例子

底层使用是truetype2,所以是平台无关的
另外:也可以使用非系统的字体
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-1 18:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表