亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 2d.txt

?? 一個(gè)2D游戲引擎設(shè)計(jì)的完整文檔
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

HDC(Handle of Device Context)為一個(gè)設(shè)備環(huán)境的句柄。這里用來(lái)表示顯示設(shè)備。

GetDC(&hDC)函數(shù)用來(lái)取得一個(gè)顯示設(shè)備然后將這個(gè)設(shè)備的句柄賦給hDC。這聽(tīng)起來(lái)讓人糊涂,其實(shí)意思是說(shuō),用GetDC(&hDC)函數(shù)來(lái)創(chuàng)建一個(gè)同Windows GDI兼容的設(shè)備環(huán)境給指定頁(yè)面。用變量hDC來(lái)表示這個(gè)設(shè)備環(huán)境。

SetBkColor和SetTextColor當(dāng)然就是設(shè)置背景顏色和字符顏色了。它們和TextOut都是標(biāo)準(zhǔn)的Windows GDI函數(shù),可以參考任何一本關(guān)于Windows GDI的書(shū)。其實(shí)一看便明白TextOut(hDC, 220, 200, "Yes, I did it!", 14)中,hDC當(dāng)然就是前面說(shuō)的顯示設(shè)備,220肯定是X坐標(biāo),那么200當(dāng)然就是Y坐標(biāo)了,"Yes, I did it!"意思是“我成功了!”,而14則表示這個(gè)字符串有14個(gè)字符。下面的LPSTR則是Win32的字符串類(lèi)型,lstrlen(lpMesg)也是Windows的標(biāo)準(zhǔn)函數(shù)用來(lái)計(jì)算字符串的長(zhǎng)度。最后別忘了刪除掉這個(gè)設(shè)備。

我好象快成長(zhǎng)舌婦了,如果我再羅嗦下去的話,你可能會(huì)找月光寶盒逃命了。但悟空,為師不得不再說(shuō)一句,千萬(wàn)別忘了清除掉幾個(gè)全局變量,不然你可能每運(yùn)行一次程序都得重啟一次電腦,電腦這東西是寶物,重啟會(huì)影響壽命,就算不影響壽命浪費(fèi)能源也是不好的嘛......
清除變量:

if(lpDD != NULL)

{

if(lpDDPS != NULL)

lpDDPS->Release();

lpDDPS = NULL;

}

lpDD->Release();

lpDD = NULL;

}

將上面的代碼整理放入上次的最簡(jiǎn)單的Windows程序就能可以運(yùn)行了。但記得在VC的Project/Settings里將ddraw.lib加入連接庫(kù)里。

下面是完整的程序:

#include <windows.h>
#include <ddraw.h>

LPDIRECTDRAW lpDD;
LPDIRECTDRAWSURFACE lpDDPS;

HWND InitWindow(HINSTANCE hInstance, int nShowCmd);
LRESULT CALLBACK WindowProc(HWND hWindow, UINT message, WPARAM wParam,
LPARAM lParam);
bool InitDDraw(HWND hWindow);
void FreeDDraw();

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
MSG msg;
HWND hWindow;

hWindow = InitWindow(hInstance, nShowCmd);
if(hWindow == FALSE)
{
DestroyWindow(hWindow);
return false;
}
if(InitDDraw(hWindow) == false)
{
MessageBox(hWindow, "Error","!" ,MB_OK);
return false;
}
while(GetMessage(&msg, NULL, 0, 0) != 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

HWND InitWindow(HINSTANCE hInstance, int nShowCmd)
{
HWND hWindow;
WNDCLASS WindowClass;

WindowClass.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
WindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WindowClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
WindowClass.style = CS_HREDRAW | CS_VREDRAW;
WindowClass.lpfnWndProc = WindowProc;
WindowClass.cbClsExtra = 0;
WindowClass.cbWndExtra = 0;
WindowClass.hInstance = hInstance;
WindowClass.lpszMenuName = "ClassName";
WindowClass.lpszClassName = "ClassName";

RegisterClass(&WindowClass);

hWindow = CreateWindowEx(0, "ClassName", "WindowTitle",
//WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_SYSMENU,
WS_POPUP,
(GetSystemMetrics(SM_CXFULLSCREEN) - 640)/2,
(GetSystemMetrics(SM_CYFULLSCREEN) - 480)/2,
640, 480,
NULL, NULL, hInstance, NULL);
if(!hWindow)
return FALSE;

ShowWindow(hWindow, nShowCmd);
UpdateWindow(hWindow);

return hWindow;
}

bool InitDDraw(HWND hWindow)
{
DDSURFACEDESC ddsd;
HDC hdc;
LPSTR lpMesg;

if(DirectDrawCreate(NULL, &lpDD, NULL) != DD_OK)
return false;

if(lpDD->SetCooperativeLevel(hWindow,
DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT) != DD_OK)
return false;
if ( lpDD->SetDisplayMode(800, 600, 32) != DD_OK)
return false;

ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
if(lpDD->CreateSurface(&ddsd, &lpDDPS, NULL) != DD_OK)
return false;

if(lpDDPS->GetDC(&hdc) != DD_OK)
return false;
SetBkColor(hdc, RGB(0, 0, 255));
SetTextColor(hdc, RGB(255, 255, 0 ));
TextOut(hdc, 220, 200, "Yeh, I did it!", 14);
lpMesg = "Press ESC to exit";
TextOut( hdc, 280, 240, lpMesg, lstrlen(lpMesg));
lpDDPS->ReleaseDC(hdc);

return true;
} 

void FreeDDraw()
{
if(lpDD != NULL)
{
if(lpDDPS != NULL)
{
lpDDPS->Release();
lpDDPS = NULL;
}
lpDD->Release();
lpDD = NULL;
}
}


LRESULT CALLBACK WindowProc(HWND hWindow, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
PostMessage(hWindow, WM_CLOSE, 0, 0);
break;
}
break;
case WM_DESTROY:
FreeDDraw();
PostQuitMessage(0);
break;
}
return DefWindowProc(hWindow, message, wParam, lParam);
}

這個(gè)程序?qū)⒛莻€(gè)史上最愚蠢的Windows程序升級(jí)為在DirectX下的全屏模式下顯示兩句傻兮兮的英文。我相信這足以讓很多有志于做專(zhuān)業(yè)的游戲卻又不知如何入手的人高興上三天三夜。因?yàn)檫M(jìn)入游戲編程的神秘殿堂似乎就在那漆黑的前方。雖然還不知道前面有多少艱苦的路要走,但起碼我們已經(jīng)找到了正確的方向。

我仍然強(qiáng)烈建議你仔細(xì)地閱讀MSDN的說(shuō)明,即可提高英文水平又能比較全面地理解這些代碼。

今天,你學(xué)會(huì)了怎樣在全屏模式下顯示文字,你可以試試將它改到窗口模式下。或加入一些其它東西。不管你有什么古怪的想法,都不要害怕去實(shí)現(xiàn)它,只有不斷地把你的電腦弄死機(jī),你才能成為真正的高手

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线精品一区二区三区激情 | 在线视频一区二区三区| 国产日韩影视精品| 成人网页在线观看| 亚洲视频免费在线观看| 欧美日韩视频在线观看一区二区三区 | 亚洲va欧美va天堂v国产综合| 88在线观看91蜜桃国自产| 另类小说综合欧美亚洲| 久久久午夜精品| eeuss鲁片一区二区三区| 亚洲国产综合91精品麻豆| 日韩一区二区视频| 懂色av一区二区三区免费观看| 一区二区三区中文在线| 91精品国产福利| 成人亚洲一区二区一| 一区二区视频在线| 日韩欧美亚洲国产另类| 盗摄精品av一区二区三区| 亚洲国产精品综合小说图片区| 日韩三级高清在线| 99re视频精品| 久久99精品国产麻豆婷婷 | 亚洲欧美日韩国产成人精品影院 | 欧美一个色资源| 国产主播一区二区| 一区二区三区在线免费| 日韩美女视频在线| 色综合中文字幕| 激情都市一区二区| 一区二区激情小说| 久久精品日产第一区二区三区高清版| 91黄色小视频| 丰满少妇在线播放bd日韩电影| 亚洲电影一区二区三区| 久久久99精品免费观看不卡| 欧美日韩一区二区三区在线| 国产风韵犹存在线视精品| 亚洲va国产va欧美va观看| 国产农村妇女毛片精品久久麻豆 | 在线一区二区观看| 成人免费毛片片v| 免费高清不卡av| 亚洲综合成人在线视频| 欧美国产一区在线| 日韩欧美色电影| 欧美日韩精品是欧美日韩精品| 不卡的av中国片| 国产精品1区2区3区在线观看| 日韩精品亚洲一区| 一区二区三区资源| 最新成人av在线| 中文字幕乱码亚洲精品一区| 26uuu亚洲综合色| 7777精品伊人久久久大香线蕉经典版下载 | 日韩欧美123| 欧美男人的天堂一二区| 91精品福利视频| 成人精品gif动图一区| 国产精品自拍一区| 国产一区二区三区久久久| 日本三级韩国三级欧美三级| 亚洲高清视频在线| 国模无码大尺度一区二区三区| 亚洲国产一区二区三区青草影视| 中文字幕中文乱码欧美一区二区| 国产三级一区二区| 久久久www免费人成精品| 精品国产凹凸成av人网站| 日韩一级片在线观看| 制服.丝袜.亚洲.另类.中文| 欧美日韩国产a| 91精品国产全国免费观看| 欧美精品在欧美一区二区少妇 | 欧美性xxxxxxxx| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91在线观看高清| 成年人网站91| 一本色道亚洲精品aⅴ| 在线视频中文字幕一区二区| 欧美性三三影院| 欧美日韩国产bt| 日韩一区二区三区免费看| 欧美不卡一区二区三区| 久久综合九色综合久久久精品综合| 2021久久国产精品不只是精品| www国产亚洲精品久久麻豆| 久久久久久麻豆| 欧美—级在线免费片| 综合久久久久久| 一区二区三区四区av| 天堂在线亚洲视频| 久久99在线观看| 成人免费高清视频在线观看| 一本到不卡精品视频在线观看| 在线观看欧美日本| 日韩欧美成人一区二区| 国产清纯白嫩初高生在线观看91| 综合自拍亚洲综合图不卡区| 亚洲成av人片一区二区三区 | 国产成人综合视频| 色综合久久天天| 日韩免费视频一区| 国产精品欧美一区喷水| 亚洲精品国产无天堂网2021| 日韩电影网1区2区| caoporm超碰国产精品| 555夜色666亚洲国产免| 国产亚洲一本大道中文在线| 亚洲黄网站在线观看| 日本女优在线视频一区二区| 国产精品一区二区91| 色爱区综合激月婷婷| 亚洲激情图片小说视频| 欧美aaaaa成人免费观看视频| 成人午夜av电影| 91精品国产色综合久久不卡电影| 中文子幕无线码一区tr| 天天操天天干天天综合网| 成人做爰69片免费看网站| 欧美午夜精品久久久久久孕妇 | 911精品国产一区二区在线| 国产欧美一区二区三区鸳鸯浴| 亚洲国产视频在线| 国产东北露脸精品视频| 欧美老人xxxx18| 日韩伦理电影网| 国产麻豆午夜三级精品| 欧美日韩在线精品一区二区三区激情 | 免费成人美女在线观看| 91麻豆精品在线观看| 亚洲精品一区二区三区影院| 亚洲二区在线观看| 99国内精品久久| 精品久久久久久综合日本欧美| 亚洲资源中文字幕| 99精品热视频| 欧美高清一级片在线观看| 蜜臀av在线播放一区二区三区| 色丁香久综合在线久综合在线观看| 国产日产欧美一区二区三区| 精品一区二区三区免费毛片爱| 欧美丝袜第三区| 一级日本不卡的影视| 成人高清免费观看| 久久亚洲精华国产精华液| 麻豆一区二区99久久久久| 欧美在线观看视频在线| 亚洲欧美偷拍三级| kk眼镜猥琐国模调教系列一区二区| 久久综合丝袜日本网| 久久精品国产99久久6| 日韩西西人体444www| 日韩在线观看一区二区| 欧美私模裸体表演在线观看| 一区二区三区在线视频播放| aaa亚洲精品一二三区| 国产精品视频一区二区三区不卡| 国内精品国产成人| 久久精品这里都是精品| 激情小说欧美图片| 精品黑人一区二区三区久久 | 国产自产视频一区二区三区 | 久久久久久亚洲综合| 国产主播一区二区| 久久久久久久久99精品| 国产在线乱码一区二区三区| 欧美变态tickle挠乳网站| 久久超碰97中文字幕| 精品电影一区二区三区| 精品在线一区二区三区| www久久精品| 成人免费视频视频| 亚洲女同ⅹxx女同tv| 91黄色免费观看| 亚洲不卡av一区二区三区| 国产精品久久久久影院色老大| 欧美xxxxxxxxx| 国产精品一区在线观看你懂的| 日韩成人精品视频| 精品一区二区成人精品| 椎名由奈av一区二区三区| 欧美亚州韩日在线看免费版国语版| av福利精品导航| 色999日韩国产欧美一区二区| 欧美性猛交xxxx黑人交| 日韩午夜精品电影| 中文字幕第一区第二区| 亚洲精品乱码久久久久| 日本欧美在线看| 福利电影一区二区| 成人av在线资源网| 久久久精品综合| 久久久久久久综合| 欧美日韩一级视频| 成人性生交大片免费看视频在线| 免费黄网站欧美| 亚洲一级不卡视频| 国产精品无人区|