HGE 系列教材(8) --- hgeResourceManager helper class(本文未完成)

简介: hgeResourceManager 是一个资源管理类 1. 构造函数 hgeResourceManager(     const char* scriptname = 0 ); scriptname 表示资源脚本文件名(Resource script filename),如果此参数为 0,表示不使用 Resource script file 现在来介绍一下资源脚本: 资源脚

hgeResourceManager 是一个资源管理类

1. 构造函数

hgeResourceManager(

    const char* scriptname = 0

);

scriptname 表示资源脚本文件名(Resource script filename),如果此参数为 0,表示不使用 Resource script file

现在来介绍一下资源脚本:

资源脚本是一个文本文件,用于定义资源。资源文件由多个(或一个)命令(command)组成,格式如下:

Command ResourceName : BaseResourceName
{
Parameter1=Value1   ; 这里是注释
Parameter2=Value2
...
ParameterN=ValueN
}

我们来看一个例子:

Resource level1
{
filename=levels/level1.dat
resgroup=1
}

这里只有一个命令:Resource,Resource 命令定义了一个原生资源(raw resource)

注意,资源文件是大小写敏感的,资源文件中可以有注释,使用“;”开头。资源文件的参数(parameter)是没有顺序限制的。

同种类型的资源,不可以使用相同的资源名(Resource Name)。在定义资源名或者文件路径时,出现空格或者特殊字符,需要把整个字符串用双引号引起来。

BaseResourceName 是可选的,如果被指定,那么就表示对 BaseResourceName 对应的参数(Parameters)的拷贝,例如:

Sprite wizard
{
texture=characters
rect=0,0,32,32
hotspot=16,16
blendmode=COLORMUL,ALPHABLEND,NOZWRITE
resgroup=1
}

Sprite orc : wizard
{
rect=0,64,32,32   ; 设定新值
color=FF808000   ; 设定新值
}
这里 orc 除了 rect 和 color 两个参数以外,其他参数值都和 wizard 一样。

hgeResourceManager 是可以容错的,如果脚本出现错误,不会导致程序的终止,错误信息将被写入日志文件。

1)Command(命令)

Command 表明了资源的含义,含有以下几种:

Include,Resource,Texture,Sound,Music,Stream,Target,Sprite,Animation,Font,Particle,Distortion,StringTable

<1> Include 命令:Include 命令用于导入其他的资源脚本文件,例如:

Include level2.res   ; level2.res 是一个资源脚本文件

注意,自引用和循环引用是可行的,它们会被检查出来,并报告在日志文件中,例如:

<2> Resource 命令:定义原生资源(raw resource)

参数: filename,resgroup。例如:

Resource level1

{

    filename=levels/level1.dat   ; 可以使用绝对或者相对路径,相对路径是相对于应用程序所在的文件夹或者是相对于资源包的根目录,特别应该注意的是,如果它是一个相对路径,相对的是应用程序或者资源包的根目录而不是脚本文件

    resgroup=1   ; 资源组(resource group)标识符,0 表示没有特定的组

}

<3> Texture 命令:定义一个纹理

参数:filename,mipmap,resgroup。例如:

Texture background
{
filename=images/bg.jpg
resgroup=1
}

由于没有设定 mipmap 参数的值,因此它取默认值。

<4> Sound 命令:定义一个音效

参数:filename,resgroup。例如:

Sound explosion1
{
filename=sounds/expl1.ogg
resgroup=1
}

<5> Music 命令

相关文章
|
2月前
|
存储 人工智能 API
阿里 Qoder 新升级,Repo Wiki 支持共享、编辑和导出
Qoder 是阿里巴巴推出的 Agentic 编程平台,集成顶尖编程模型,具备强大上下文工程能力,可一次检索10万代码文件,大幅提升软件开发效率。其 Repo Wiki 功能自动生成结构化文档,支持共享、编辑与导出,助力知识沉淀与团队协作。
|
2月前
|
人工智能 运维 中间件
CTI中间件:现代呼叫中心的核心开发平台
乐科CTI中间件助力企业高效构建智能呼叫中心,集成通信与业务系统,支持多协议、AI融合、高可用部署,广泛应用于客服、营销等场景,降低开发成本,提升运维效率。
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
606 214
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
849 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1252 157
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
241 138