- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2维游戏编程基础
2D游戏编程基础;主要内容;课程目标; 1. 初始化
2. 进入游戏循环
3. 查询用户输入状态
4. 执行游戏逻辑和AI判断
5. 绘制图像
6. 循环
7. 退出
; 1. 初始化
2. 进入游戏循环
3. 查询用户输入状态
4. 执行游戏逻辑和AI判断
5. 绘制图像
6. 循环
7. 退出
;;// defines for game loop states
#define GAME_INIT 1 // the game is initializing
#define GAME_MENU 2 // the game is in the menu
#define GAME_STARTING 3 // the game is about to run
#define GAME_RUN 4 // the game is now running
#define GAME_RESTART 5 // the game is going to restart
#define GAME_EXIT 6 // the game is exiting
// game globals
int game_state = GAME_INIT; // start off in this state
Int error = 0; // used to send errors back to OS
// main begins here
Void main( )
{ // implementation of main game loop
;While (game_state != GAME_EXIT)
{ // implementation of main game loop
switch(game_state)
{
case GAME_INIT: // the game is initializing
{ // allocate all memory and resources
Init( );
game_state = GAME_MENU;
} break;
; case GAME_MENU: // the game is in the menu
{ // call the main menu function and let it switch states
game_state = Menu( );
// note: we could force a RUN state here
} break;
case GAME_STARTING: // the game is about to run
{ // this state is optional, but usually used to set things up right // before the game is run you might do a little more housekeeping Setup_For_Run( );
// switch to run state
game_state = GAME_RUN;
} break;; case GAME_RUN: // the game is now running
{ // this section contains the entire game logic loop Clear( ); // clear the display
Get_Input( ); // get the input
Do_Logic( ); // perform logic and AI
Render_Frame( ); // display the next frame of animation
Wait( ); // synchronize the display
// the only way that state can be changed is thru user interaction // in the input section or by maybe losing the game.
} break;
; case GAME_RESTART: // the game is restarting
{ // this section is a cleanup state used to fix up any loose ends // before running again
Fixup( );
// switch states bac
您可能关注的文档
- 1行的白鹭上青天.ppt
- 20个公司的行政法规等.ppt
- 1般道路驾驶注意事项(完成版).ppt
- 1次函数的扩展(分段函数.ppt
- 1杯浓茶8味人生.ppt
- 2008年中考语文命题培训.ppt
- 21世纪最宝贵的是健康.ppt
- 22职场心态调整人生职场3个圆圈圈的故事.ppt
- 2、教育技术的发展历史.ppt
- 21世纪送礼送健康健康谚语.ppt
- 生态旅游可持续发展规划与管理报告:2025年生态旅游投资分析.docx
- 人教版七年级数学《有理数乘法》同步练含答案.docx
- 2025年郑州市三年级科学期中模拟试卷 (2).doc
- 生态旅游可持续发展规划与管理报告:2025年生态旅游与旅游者旅游体验评价案例分析研究.docx
- 人教版七年级数学《有理数除法》单元检测试卷含答案.docx
- 腹腔镜与开腹手术治疗进展期胃癌的近期疗效:多维度比较与临床决策分析.docx
- 生态旅游可持续发展规划与管理生态旅游可持续发展战略规划与生态旅游信息化建设报告.docx
- 生态旅游可持续发展规划与管理生态旅游可持续发展战略规划与生态补偿机制报告.docx
- 生态旅游度假区基础设施建设与投资回报率评估报告.docx
- 腹腔镜与开腹直肠癌根治术远期疗效的对比剖析与展望.docx
文档评论(0)