我是靠谱客的博主 能干柚子,最近开发中收集的这篇文章主要介绍网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第3篇),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

version4

主要内容:透明贴图

所属部分:客户端

代码地址 https://github.com/changjixiong/MMO-RPGGame, 如何获得代码,请参考如何用SVN从github上检出代码的不同版本

邮件地址:changjixiong@gmail.com

本系列目录


下面这段代码用于生成透明位图


bitBlackBack=CreateCompatibleBitmap(hdcScreen, Width, Height);
bitMask=CreateBitmap(Width, Height, 1, 1, NULL);
hdcBlackBack=CreateCompatibleDC(hdcScreen);
hdcMask=CreateCompatibleDC(hdcScreen);
bitOldBlackBack=(HBITMAP)SelectObject(hdcBlackBack,bitBlackBack);
bitOldMask=(HBITMAP)SelectObject(hdcMask,bitMask);
BitBlt(hdcBlackBack, 0, 0, Width, Height, hdcOriginal, 0, 0, SRCCOPY);
SetBkColor(hdcBlackBack, RGB(255,255,255));
BitBlt(hdcMask, 0, 0, Width, Height, hdcBlackBack, 0, 0, SRCCOPY);
SetBkColor(hdcBlackBack, RGB(0,0,0));
SetTextColor(hdcBlackBack, RGB(255,255,255));
BitBlt(hdcBlackBack, 0, 0, Width, Height, hdcMask, 0, 0, SRCAND);


然后用下面的代码,完成透明贴图

BitBlt(hdcDest, x, y, Width, Height, hdcMask, 0, 0, SRCAND);
BitBlt(hdcDest, x, y, Width, Height, hdcBlackBack, 0, 0, SRCPAINT);

稍微说明一下
hdcBlackBack=CreateCompatibleDC(hdcScreen);
bitOldBlackBack=(HBITMAP)SelectObject(hdcBlackBack,bitBlackBack);
生成hdcBlackBack,并将一个单色位图选入,这个时候hdcBlackBack贴出来,就是一个黑块,如图:


BitBlt(hdcBlackBack, 0, 0, 22, 42, hdcOriginal, 0, 0, SRCCOPY);

以后,hdcBlackBack里面就是原图的内容,hdcBlackBack贴出来的效果如图:



SetBkColor(hdcBlackBack, RGB(255,255,255));
BitBlt(hdcMask, 0, 0, 22, 42, hdcBlackBack, 0, 0, SRCCOPY);

生成一个白色背景,黑色剪影的图,hdcMask贴出来的效果如图:


SetBkColor(hdcBlackBack, RGB(0,0,0));
SetTextColor(hdcBlackBack, RGB(255,255,255));
BitBlt(hdcBlackBack, 0, 0, 22, 42, hdcMask, 0, 0, SRCAND);

生成一个黑色背景的人物图,hdcBlackBack贴出来效果是这样的:


BitBlt(hdcDest, x, y, 22, 42, hdcMask, 0, 0, SRCAND);

在地图上打个洞,效果是这样的:


打洞以后,在做下面的操作

BitBlt(hdcDest, x, y, 22, 42, hdcBlackBack, 0, 0, SRCPAINT);

产生最终效果:


代码运行会感觉人物闪的厉害,因为while函数里面一轮太快了,下一版将贴图移动到WM_TIMER消息下面。



最后

以上就是能干柚子为你收集整理的网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第3篇)的全部内容,希望文章能够帮你解决网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第3篇)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部