菜鸟之D3D学习(准备篇)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

高手不要看了呵呵本人正在学习D3D 有一些编程经验,

VC: 半年

C#:4个月

刚毕业

以上为本人条件,差点,不过我相信学习只要有方法就决对可以的。

按小游戏的构架学吧呵呵这样要容易点. 今天先学习一些D3D制作的一些前提知识。

本机编译环境:2003.net Directx 9.0

用到的是win32的工程,最起码SDK要看懂和理解自动生成的代码(在此不能说了实在不行,没法,再看呵呵)

在程序中改进程序本的循环,说白了就是让你的程序运行你的游戏主体GameMain()当然改完了还要有初使化GameInit()和游戏的结束GameEnd()

基本上就是GameInit()-GameMain()-GameEnd()

不多说了贴些代码上去

// 全局变量:

//new s 定义新加变量

HWND g_hwnd;

bool g_activeApp;

//new e

//初使化在这儿

GameInit();

// 主消息循环:

//while (GetMessage(&msg, NULL, 0, 0))

//{

//if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))

//{

//TranslateMessage(&msg);

//DispatchMessage(&msg);

//}

//}

//new s 此处是重点把上面的循环换成下面的

while (1)

{

if (PeekMessage(&msg,NULL,NULL,NULL,PM_NOREMOVE))

{

if (GetMessage(&msg, NULL, 0, 0))

{

return (int) msg.wParam;

}

TranslateMessage(&msg);

DispatchMessage(&msg);

}

else

{

if (g_activeApp)

{

if (!GameMain())//此处主循环

{

PostQuitMessage(1);

}

}

else

{

WaitMessage();

}

}

}

//new e

//销毁放这儿

GameEnd();

return (int) msg.wParam;

}

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{

//new s 付值 不要忘了以后用的到的

g_hwnd = hWnd;

//new e

return TRUE;

}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

int wmId, wmEvent;

PAINTSTRUCT ps;

HDC hdc;

switch (message)

{

//new s此处也很重要来吧

case WM_ACTIVATEAPP:

g_activeApp = (int) wParam;

break;

//new e

case WM_COMMAND:

wmId = LOWORD(wParam);

wmEvent = HIWORD(wParam);

// 分析菜单选择:

switch (wmId)

{

case IDM_ABOUT:

DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);

break;

case IDM_EXIT:

DestroyWindow(hWnd);

break;

default:

return DefWindowProc(hWnd, message, wParam, lParam);

}

break;

case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

// TODO: 在此添加任意绘图代码...

EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hWnd, message, wParam, lParam);

}

return 0;

行了这段代码没什么难的改一下而以吃透就行下一篇就可以D3D的路程了要睡了明天接着来.

没办法格式总搞不好,晕了明天再说

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航