游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3221|回复: 0

盖莫游戏引擎中的文件系统测试demo

[复制链接]

56

主题

94

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2010-3-9 11:29:00 | 显示全部楼层 |阅读模式
游戏引擎中的文件系统是非常重要的一环,基本的文件系统功能不外乎以下功能:
1.打开文件
2.检测文件是否存在
3.获取给定文件目录列表
4.文件其它操作
5.各类文件的处理(日志,xml等等)
盖莫游戏引擎也有必要有自己内置的文件系统来管理引擎所使用的文件或者资源。
以下是简单的测试例子:
[em21]

#include <GEngine/Gaimo.hpp>
using namespace std;

int main(int argc, char **argv)
{
    //! 初始化引擎设备并得到设备指针
    core:evice* device = core::InitDevice("盖莫引擎文件系统测试");
    core::Render::SetClearColor(core::Color(0.5f,0.6f,0.6f));

    //! 获取文件系统指针
    core::RefPtr<core::FileSystem> filesystem = device->GetFileSystem();
    //! 获取引擎资源管理器
    core::ResourceManager* resmgr = device->GetResourceManager();

    filesystem->AddToSearchPath("..\\font\\font.zip");
    bool flag = filesystem->IsExists("accid.ttf");
    if(flag == false)
    {
        ShowMessage(不存在字体文件accid.ttf)   
        device->Close();
        device->Drop();         
        return -1;
    }      
   
    //! 读取文件数据
    core::RefPtr<core::ReadFile> file = filesystem->OpenRead("accid.ttf");

    //! 使用给定字体文件(ttf)
    core::RefPtr<core::Text> font = resmgr->GetText("newfont",file,18);   
   
    int fps;
    char text[255];
    BEGIN_LOOP(device)
           glClear(GL_COLOR_BUFFER_BIT);       
           fps = device->GetFPS();
       sprintf(text,"fps is: %d",fps);                
       font->Render(540,0,text);
       font->Render(200,80,  "This demo is testing GEngine's FileySystem.");
       font->Render(250,105, "GaimoSoft Studio.");
    END_LOOP(device)
   
    device->Close();
    device->Drop();

    return 0;
}


下面是简单的贴图:




盖莫游戏引擎中的文件系统测试demo
游戏引擎中的文件系统是非常重要的一环,基本的文件系统功能不外乎以下功能:
1.打开文件
2.检测文件是否存在
3.获取给定文件目录列表
4.文件其它操作
5.各类文件的处理(日志,xml等等)
盖莫游戏引擎也有必要有自己内置的文件系统来管理引擎所使用的文件或者资源。
以下是简单的测试例子:


1 #include <GEngine/Gaimo.hpp>
2 using namespace std;
3  
4 int main(int argc, char **argv)
5 {
6     //! 初始化引擎设备并得到设备指针
7     core::Device* device = core::InitDevice("盖莫引擎文件系统测试");
8     core::Render::SetClearColor(core::Color(0.5f,0.6f,0.6f));
9
10     //! 获取文件系统指针
11     core::RefPtr<core::FileSystem> filesystem = device->GetFileSystem();
12     //! 获取引擎资源管理器
13     core::ResourceManager* resmgr = device->GetResourceManager();
14  
15     filesystem->AddToSearchPath("..\\font\\font.zip");
16     bool flag = filesystem->IsExists("accid.ttf");
17     if(flag == false)
18     {
19         ShowMessage(不存在字体文件accid.ttf)   
20         device->Close();
21         device->Drop();         
22         return -1;
23     }      
24     
25     //! 读取文件数据
26     core::RefPtr<core::ReadFile> file = filesystem->OpenRead("accid.ttf");
27
28     //! 使用给定字体文件(ttf)
29     core::RefPtr<core::Text> font = resmgr->GetText("newfont",file,18);   
30     
31     int fps;
32     char text[255];
33     BEGIN_LOOP(device)
34        glClear(GL_COLOR_BUFFER_BIT);   
35        fps = device->GetFPS();
36        sprintf(text,"fps is: %d",fps);         
37        font->Render(540,0,text);
38        font->Render(200,80,  "This demo is testing GEngine's FileySystem.");
39        font->Render(250,105, "GaimoSoft Studio.");
40     END_LOOP(device)
41   
42     device->Close();
43     device->Drop();
44  
45     return 0;
46 }
47  
48  下面是简单的贴图:

从代码中可以看出引擎对zip压缩格式是内置支持的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-13 08:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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