- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC_Win_API_编程简介及游戏开发.ppt
WinMain()方法 ---(2) //获取窗体大小 GetClientRect(hAppWnd, g_ClientRect); g_iClientWidth = g_ClientRect.right-g_ClientRect.left; g_iClientHeight = g_ClientRect.bottom-g_ClientRect.top; //将游戏区域分成纵,横均为20块的小方块,并计算每块区域的大小 tableBlockWidth = (g_iClientWidth-2*WALL_WIDTH)/20; tableBlockHeight = (g_iClientHeight-2*WALL_HEIGHT)/20; windowDC=GetDC(NULL); //获取当前主窗口设备与windowDC关联 //创建与windowDC兼容的内存设备环境 bufferDC=CreateCompatibleDC(windowDC); picDC=CreateCompatibleDC(windowDC); endDC=CreateCompatibleDC(windowDC); scoreDC=CreateCompatibleDC(windowDC); //位图的初始化或载入位图 bufferBMP=CreateCompatibleBitmap(windowDC,g_iClientWidth,g_iClientHeight); picBMP=(HBITMAP)LoadImage(NULL,snake.bmp,IMAGE_BITMAP,160,80,LR_LOADFROMFILE); hbmpWall=(HBITMAP)LoadImage(NULL,brick.bmp,IMAGE_BITMAP,16,16,LR_LOADFROMFILE); endBMP = (HBITMAP)LoadImage(NULL,end.bmp,IMAGE_BITMAP,369,300,LR_LOADFROMFILE); hbmpScore=(HBITMAP)LoadImage(NULL,scoreboard.bmp,IMAGE_BITMAP,265,55,LR_LOADFROMFILE); WinMain()方法 ---(3) //声明位图与设备环境的关联 SelectObject(bufferDC,bufferBMP); SelectObject(picDC,picBMP); SelectObject(endDC,endBMP); SelectObject(scoreDC,hbmpScore); //建立画刷与其名相对应的图像的关联, //以备用刷子将墙刷出来,用PatBlt()实现 hbrushWall = CreatePatternBrush(hbmpWall); StartGame(); while(GetMessage(msg,NULL,0,0)) { TranslateMessage(msg); DispatchMessage(msg); } return msg.wParam; } WndProc()方法--(1) LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam,LPARAM lParam) { switch(message) { case WM_TIMER : OnTimer((UINT)wParam); break; case WM_KEYDOWN: switch(wParam) { case VK_ESCAPE: exit(0); break; case VK_UP: table.ChangeSnakeDirect(S_UP);break; case VK_DOWN: table.ChangeSnakeDirect(S_DOWN); break; case VK_LEFT: table.ChangeSnakeDirect(S_LEFT); break; case VK_RIGHT:table.ChangeSnak
您可能关注的文档
最近下载
- 我国散光矫正型人工晶状体临床应用专家共识.docx
- 科研伦理与学术规范.docx VIP
- 【教学评一体化】第三单元 赏山川日月,悟忧乐情怀 整体公开课一等奖创新教学设计-【大单元教学】统编版语文九年级上册名师备课系列.docx VIP
- 缅怀先烈精神-传承红色基因课件.pptx VIP
- 1.1 同底数幂的乘法 双减分层作业设计样例 2021—2022学年北师大版数学七年级下册 .docx VIP
- 朱良春杂病廉验特色发挥.docx
- 绘本《我妈妈》教学设计.docx
- 人教版(2024)英语七年级上册全册教案.DOCX VIP
- 在线网课知慧《音乐艺术概论》课后章节测试答案.docx
- 2024年中煤集团西南分公司招聘笔试参考题库附带答案详解.pdf
文档评论(0)