VC游戲編程-游戲畫面特效制作1.doc

VC游戲編程-游戲畫面特效制作1.doc

ID:62043913

大小:196.50 KB

頁數:4頁

時間:2021-04-16

VC游戲編程-游戲畫面特效制作1.doc_第1頁
VC游戲編程-游戲畫面特效制作1.doc_第2頁
VC游戲編程-游戲畫面特效制作1.doc_第3頁
VC游戲編程-游戲畫面特效制作1.doc_第4頁
資源描述:

《VC游戲編程-游戲畫面特效制作1.doc》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、個人收集整理勿做商業(yè)用途有時候,我們需要在畫面上顯示一張角色的圖像,而這張圖片是有自己的背景的,要是直接貼到了游戲的畫面中,就會出項覆蓋游戲畫面。顯示出的效果特別不好,這里我們可以用到透明效果來處理。其中,原理就是用BitBlt()的Raster值運算去掉原圖片的背影。但是只適用于原圖背景為黑色,才會看到效果。如圖,左邊部分為前景圖,右邊部分為屏蔽圖前景圖的背景必須為黑色,屏蔽圖的背景為白色以下為顯示的背景圖我們怎么樣使用則會圖來處理透明呢?其實就是Raster運算。將屏蔽圖和背景圖做“AND”運算,貼到目的DC; 再將前景圖和背景圖做“OR”運算,貼到目的D

2、C;現在開始編寫程序:在VS2008中新建Win32程序,使用VC默認的框架。個人收集整理勿做商業(yè)用途首先定義全局變量:[cpp]viewplaincopyprint?1.HBITMAP?bg,?dra;????????????????????????????????//用來存儲背景與前景圖??2.HDC?hdc;????????????????????????????????????????//用來暫時存儲位圖的DC??HBITMAPbg,dra;??//用來存儲背景與前景圖HDChdc;???????//用來暫時存儲位圖的DC然后在InitInstance

3、()函數中,添加代碼,繪制圖形。[cpp]viewplaincopyprint?1.BOOL?InitInstance(HINSTANCE?hInstance,?int?nCmdShow)??2.{??3.???HWND?hWnd;??4.???HDC?hdc;??5.??6.???hInst?=?hInstance;?//?將實例句柄存儲在全局變量中??7.??8.???hWnd?=?Creat(yī)eWindow(szWindowClass,?szTitle,?WS_OVERLAPPEDWINDOW,??9.??????CW_USEDEFAULT,?0,?CW_

4、USEDEFAULT,?0,?NULL,?NULL,?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

5、?=?Creat(yī)eCompat(yī)ibleDC(hdc);??22.???//載入位圖??23.???bg?=?(HBITMAP)LoadImage(NULL,?L"bg.bmp",?IMAGE_BITMAP,?1024,?768,?LR_LOADFROMFILE);??個人收集整理勿做商業(yè)用途1.???dra?=?(HBITMAP)LoadImage(NULL,?L"dra.bmp",?IMAGE_BITMAP,?170,?99,?LR_LOADFROMFILE);??2.??3.???Paint(hdc);??????//繪制透明位圖??4.???Releas

6、eDC(hWnd,?hdc);????//釋放DC??5.???return?TRUE;??6.}??BOOLInitInstance(HINSTANCEhInstance,intnCmdShow){  HWNDhWnd; HDChdc;  hInst=hInstance;// 將實例句柄存儲在全局變量中hWnd=Creat(yī)eWindow(szWindowClass,szTitle, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0,CW_USEDEFAULT, 0, NULL,NULL,hInstance,NULL); if(!hWn

7、d) {?。騟turnFALSE; }MoveWindow(hWnd,50,50,1024,768,true); ShowWindow(hWnd,nCmdShow); Updat(yī)eWindow(hWnd); //建立窗口DC兼容DC?。瑁鋍=GetDC(hWnd); mdc=CreateCompatibleDC(hdc);  //載入位圖bg= (HBITMAP)LoadImage(NULL, L"bg.bmp",IMAGE_BITMAP,1024,768,LR_LOADFROMFILE);dra= (HBITMAP)LoadImage(NULL,L"dra.

8、bmp",IMAGE_BITMAP,1

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。