网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第1篇)
来源:互联网 发布:淘宝虚假交易处罚2017 编辑:程序博客网 时间:2024/05/02 01:16
version2
主要内容:贴图
所属部分:客户端
代码地址 https://github.com/changjixiong/MMO-RPGGame, 如何获得代码,请参考如何用SVN从github上检出代码的不同版本
邮件地址:changjixiong@gmail.com
本系列目录
由于VC自动生成的代码,有点罗嗦,而且,我也不需要用到RC文件,希望能看到精简的代码,所以windows 的窗口生成代码,我使用了《windows游戏编程大师技巧》里面的代码(见p66~p68)。
在CreateWindowEx 调用了一个自定义的函数AdjustWindow(HWND hwnd)用于调整窗口的大小和位置,需要注意的是,最初创建的窗口大小是640X480的,并且已经居中了,但是,这个尺寸是包含标题栏的,所以需要用函数AdjustWindow(HWND hwnd)调整一下,调整后窗口的尺寸比640X480略大的,而客户区的尺寸是640X480。
下面的代码初始化HDC 和 HBITMAP 用于贴图, 用BitBlt向屏幕贴图,最后释放资源。
HDC hdcScreen= GetDC(hwnd);HDC hdcGround= CreateCompatibleDC(hdcScreen);HBITMAP bitmap= (HBITMAP)LoadImage(NULL,"./pic/map/ground.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);HBITMAP bitOld= (HBITMAP)SelectObject(hdcGround,bitmap);// enter main event loop, but this time we use PeekMessage()// instead of GetMessage() to retrieve messageswhile(TRUE){// test if there is a message in queue, if so get itif (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { // test if this is a quit if (msg.message == WM_QUIT) break; // translate any accelerator keys TranslateMessage(&msg); // send the message to the window proc DispatchMessage(&msg); } // end if // main game processing goes here// Game_Main(); // or whatever your loop is calledBitBlt(hdcScreen, 0, 0, 640, 480, hdcGround, 0, 0, SRCCOPY);//} // end while//Game_Shutdown();SelectObject(hdcGround, bitOld);DeleteObject(bitmap);DeleteDC(hdcGround);
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第1篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第0篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第2篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第3篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第4篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第5篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第6篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第7篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第8篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第9篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第10篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第11篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第12篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第13篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第14篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第15篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第16篇)
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第17篇上)
- 汇编语言程序设计学习笔记(第一遍学习)-第1节:机器语言编程到汇编语言的产生
- hdu 1307
- hdu 3999The order of a Tree
- 汇编语言程序设计学习笔记(第一遍学习)-第2节:寄存器
- 数理逻辑:谓词逻辑(12)有限域与无限域
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第1篇)
- 《Effective C++》读书笔记之item48:认识template元编程
- Maven最佳实践:划分模块
- 学习OpenCV——学习grabcut算法
- 数理逻辑:谓词逻辑(13)Skolem函数
- 二分图的概念
- SQLite入门与分析
- 万用存储过程分页,输入表名 关键字 以及相关参数即可分页
- C++ 公用、私有和受保护的继承