游戏开发新手入门之win32程序资

游戏开发新手入门之win32程序资

ID:34781244

大小:101.68 KB

页数:9页

时间:2019-03-10

游戏开发新手入门之win32程序资_第1页
游戏开发新手入门之win32程序资_第2页
游戏开发新手入门之win32程序资_第3页
游戏开发新手入门之win32程序资_第4页
游戏开发新手入门之win32程序资_第5页
资源描述:

《游戏开发新手入门之win32程序资》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、游戏开发新手入门之Win32程序资源=====================第一讲===================  简介  通过本章题目可能你已经猜出了本章论题,我将教会你在Windows程序中使用资源。简单的讲,资源即数据,它们通常是和程序的EXE文件相关联的,但是它们又是独一无二的。首先,资源在运行过程中不能被修改。它们实际上都是只读文件,而且程序代码不能够直接访问它们。另外,资源并不在程序的数据区内。在装入时,程序资源通常在某个磁盘文件中,直到程序需要它们时才被装入。使用资源是一件很容易的事情,并且它的妙处无

2、穷。Windows为我们提供了大量的资源类型,但我们这里只学一些最常用,最容易的:图标(icon)、光标(cursor)、位图(bitmap)、菜单(menu)和字符串(string)。此后,我还将教你建立自己风格类型的资源,使你为所欲为。  重复一下,要想看懂本章,你得有点C语言的基础。C++有时用一用,但不影响你学习本章内容。并且我假定你已经读过了上一章内容“Windows编程基础”。我还是用MicrosoftVisualC++的编译器,怎么样?出发吧!  ☆资源脚本  在进行细节之前,我们要先搞懂怎样要编译器知道它所要

3、编译的资源类型。方法是使用称之为资源脚本的特殊文件,它是一个简单的文本文件,可以手工编辑,也可以让VisualC++自动编辑,或者你用其它的自动编辑器编辑。无论如何,资源脚本文件要有一个.rc的扩展名。大多数的脚本文件都从定义资源行开始,最简单的资源行通常要用到资源类型,就像这样:  [identifier][resourcetype][filename]  【标识符】【资源类型】【文件名称】  标识符可以用两种方式表示:一种是能表示资源意思的字符串,另一种是在资源相对应的头文件中用#define定义过的数字常量。如果你选择

4、数字常量,这通常是一个好主意,别忘了把相应的头文件加入到你的资源脚本。资源脚本使用C语言风格的文件格式好像比较容易理解。以下是一个比较简单的资源脚本实例:#include"resource.h"//iconsICON_MAINICONmyicon.ico//bitmapsIMG_TILESET1BITMAPtileset.bmpIMG_TILESET2BITMAPtileset2.bmp  好理解吧!但有一件事可能把人弄胡涂。例子中的ICON_MAIN和IMG_TILESET是字符串呢,还是数字常量?但这无伤大雅,编译器编译

5、的时候会自己判断。如果发现在头文件中有#define的定义,那就认为是字符常量,否则,就是字符串。  如果有些迷茫,不要紧。我将解释我们要用到的每一个资源类型。什么?觉得麻烦?OK,OK,让我们用全自动的资源插入系统吧!(在VisualC++中,在“插入”下拉菜单中,选择“资源”)我还是喜欢在记事本中用手工输入的模式,别问我为什么,我也不知道。:)现在你知道了建立资源脚本的基础知识,让我们开始进一步的行程吧!  ☆图标和光标  你每天在使用的大多数的Windows程序,都有自己的图标,简单的说,就是EXE文件同这个图标资源相

6、关联了,独特风格的光标也是如此。你已经知道图标的脚本行样子了,光标的和它很相似,看看吧:[identifier]CURSOR[filename][identifier]ICON[filename]  增加了一行脚本行后,也就是意味着你的EXE文件又多了一个关联。也就是说你的EXE文件要根据标识符去相应的位置寻找相应的文件[filename]。你可以使用任何你喜欢用的图标/光标编辑器去编辑相应的文件。我通常利用VisualC++中的编辑器。  把资源脚本做出来后,并没有完事儿,因为你还不知道怎么调用相应的资源,要想知道图标和光

7、标是怎样在你的程序中被调用的,让我们回过头来,看一看上一章中的窗口类(windowsclass)文件:WNDCLASSEXsampleClass;//declarestructurevariablesampleClass.cbSize=sizeof(WNDCLASSEX);//alwaysusethis!sampleClass.style=CS_DBLCLKS

8、CS_OWNDC

9、CS_HREDRAW

10、CS_VREDRAW;//standardsettingssampleClass.lpfnWndProc=MsgHandler

11、;//messagehandlerfunctionsampleClass.cbClsExtra=0;//extraclassinfo,notusedsampleClass.cbWndExtra=0;//extrawindowinfo,notusedsampleClass.hInstance

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。