简单游戏编程.docVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一 游戏编程基础 1-概论 1.游戏的组成 游戏由剧情、图形图像、声音、文本等资源组成。 2.游戏设计与制作 设计与制作过程大致分为策划,美工,音效,程序,测试五部分。 策划:负责设计游戏的剧情、类别、玩法等,是游戏最重要的部分,直接决定了游戏的成功与否。 美工:负责绘制游戏中所需图形图像资源。 音效:负责制作游戏中所需的声音资源。 程序:负责将多媒体资源按照策划规定的方式组合起来,制作成最终产品-游戏。 测试:负责测试程序的稳定性、游戏的难度等。 我之前看过一本书,书中有这么一个比喻:如果拿游戏与人来类比的话,策划就是心脏,程序是骨骼,美工是皮肤,音效是衣服。 游戏编程,就是游戏设计与制作的程序部分。在我的整个笔记中,所探讨的核心内容,就是游戏的程序实现。 2-游戏程序组成 1.组成 主要由逻辑更新和画面渲染两部分组成,也可以说游戏程序就只干这两件事情。 逻辑更新:接收玩家的输入,更新敌人、玩家、世界等数据。 画面渲染:将游戏内容以图像的方式呈现出来。 2.程序流程? 初始化数据-更新-渲染-释放资源。 3-Windows程序设计基础 ? ? ? ? 我所使用到的技术都是基于windows操作系统的,在2D游戏编程方面,使用GDI(图像开发接口)来处理图形图像,虽然GDI的执行效率较低,但是相对于其他的开发包来说,它比较容易学习和理解,在我们学习阶段使用它没问题。当我们对游戏编程思想有了更深的了解的时候,可以使用其他开发包来处理图形图像,如DirectX?3D,OpenGL等。 1.程序入口WinMain 一个简单的windows程序。 [cpp]?view plaincopy #include?Windows.h?? int?WINAPI?WinMain(HINSTANCE?hInstance,?? ???????????????????HINSTANCE?hPrevInstance,??? ???????????????????LPSTR?lpCmdLine,?? ???????????????????int?nShowCmd?)?? {?? ????MessageBox(NULL,?? ????????L这是一个简单的windows应用程序!,?? ????????L这是标题,?? ????????MB_OKCANCEL|MB_ICONINFORMATION);?? ????return?0;?? }?? WinMain和C语言的main函数类似,都是程序的入口函数,由系统调用。 [cpp]?view plaincopy int?WINAPI?WinMain(?? ??HINSTANCE?hInstance,?????//?handle?to?current?instance?? ??HINSTANCE?hPrevInstance,?//?handle?to?previous?instance?? ??LPSTR?lpCmdLine,?????????//?command?line?? ??int?nCmdShow??????????????//?show?state?? );?? 详细参数可以参看MSDN或去百科上看,写程序时,保持这个结构不变即可。最重要的参数是hInstance,为应用程序实例句柄,标识了当前应用程序的资源地址。在游戏编程中,经常会用到它,所以,我们经常会将该值保存起来,方便后面使用。 2.创建windows应用程序的流程 主函数(WinMain)-注册窗口类(RegisterClassEx)-创建窗口(CreateWindowEx)?-消息循环(MainLoop),处理窗口过程(WinProc)。其中,窗口过程在消息循环中被反复调用。以下是算法伪代码: [cpp]?view plaincopy WinMain()?? {?? ????RegisterClassEx()?? ????CreateWindowEx()?? ????MainLoop()?? }?? MainLoop()?? {?? ????while(true)?? ????{?? ????????WinProc()?? ????}?? }?? 3.注册窗口类RegisterClassEx 窗口类,即窗口的类型,它并不是指C++中的类(class)。告诉操作系统即将创建什么样的窗口。 [cpp]?view plaincopy ATOM?RegisterClassEx(?? ??CONST?WNDCLASSEX?*lpwcx?//?class?data?? );?? typedef?struct?_WNDCLASSEX?{?//窗口类数据结构?? ????UINT?????????cbSize;?????//本结构大小

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档