vc++游戏编程----游戏画面特效制作1

vc++游戏编程----游戏画面特效制作1

ID:14172988

大小:207.50 KB

页数:4页

时间:2018-07-26

vc++游戏编程----游戏画面特效制作1_第1页
vc++游戏编程----游戏画面特效制作1_第2页
vc++游戏编程----游戏画面特效制作1_第3页
vc++游戏编程----游戏画面特效制作1_第4页
资源描述:

《vc++游戏编程----游戏画面特效制作1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、有时候,我们需要在画面上显示一张角色的图像,而这张图片是有自己的背景的,要是直接贴到了游戏的画面中,就会出项覆盖游戏画面。显示出的效果特别不好,这里我们可以用到透明效果来处理。其中,原理就是用BitBlt()的Raster值运算去掉原图片的背影。但是只适用于原图背景为黑色,才会看到效果。如图,左边部分为前景图,右边部分为屏蔽图前景图的背景必须为黑色,屏蔽图的背景为白色以下为显示的背景图我们怎么样使用则会图来处理透明呢?其实就是Raster运算。将屏蔽图和背景图做“AND”运算,贴到目的DC;再将前景图和背景图做“OR”运算,贴到目的DC;现在开始编写程

2、序:在VS2008中新建Win32程序,使用VC默认的框架。首先定义全局变量:[cpp]viewplaincopyprint?1.HBITMAP bg, dra;                                //用来存储背景与前景图  2.HDC hdc;                                        //用来暂时存储位图的DC  HBITMAPbg,dra;//用来存储背景与前景图HDChdc;//用来暂时存储位图的DC然后在InitInstance()函数中,添加代码,绘制图形。[cpp]viewp

3、laincopyprint?1.BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)  2.{  3.   HWND hWnd;  4.   HDC hdc;  5.  6.   hInst = hInstance; // 将实例句柄存储在全局变量中  7.  8.   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,  9.      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, N

4、ULL, hInstance, NULL);  10.  11.   if (!hWnd)  12.   {  13.      return FALSE;  14.   }  15.  16.   MoveWindow(hWnd, 50, 50, 1024, 768, true);  17.   ShowWindow(hWnd, nCmdShow);  18.   UpdateWindow(hWnd);  19.   //建立窗口DC兼容DC  20.   hdc = GetDC(hWnd);  21.   mdc = CreateCompatibl

5、eDC(hdc);  22.   //载入位图  23.   bg = (HBITMAP)LoadImage(NULL, L"bg.bmp", IMAGE_BITMAP, 1024, 768, LR_LOADFROMFILE);  1.   dra = (HBITMAP)LoadImage(NULL, L"dra.bmp", IMAGE_BITMAP, 170, 99, LR_LOADFROMFILE);  2.  3.   Paint(hdc);      //绘制透明位图  4.   ReleaseDC(hWnd, hdc);    //释放DC 

6、 5.   return TRUE;  6.}  BOOLInitInstance(HINSTANCEhInstance,intnCmdShow){HWNDhWnd;HDChdc;hInst=hInstance;//将实例句柄存储在全局变量中hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if(!hWnd){returnFALSE;}MoveWindow(hWnd,5

7、0,50,1024,768,true);ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);//建立窗口DC兼容DChdc=GetDC(hWnd);mdc=CreateCompatibleDC(hdc);//载入位图bg=(HBITMAP)LoadImage(NULL,L"bg.bmp",IMAGE_BITMAP,1024,768,LR_LOADFROMFILE);dra=(HBITMAP)LoadImage(NULL,L"dra.bmp",IMAGE_BITMAP,170,99,LR_LOADFROMFILE);

8、Paint(hdc);//绘制透明位图ReleaseDC(hWnd,hdc);//释放DCre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。