您的位置:首页 > 其它

学习笔记一:关于directx sdk的安装于一些概念

2014-10-17 14:51 316 查看
关于directx sdk开发环境的安装:

在百度搜索了directx sdk,进入了微软的官网,下载了DXSDK_Jun10.exe

百度网盘:http://pan.baidu.com/s/1o6r3MDO

下载安装就可以了

VC++开发用的是VS2010

新建VS2010工程:win32项目,空项目





创建了空的win32项目后,首先要进行directx开发环境的设置

首先右键-工程-属性,在弹出的工程属性中选择VC++目录



这里要设置的是 包含目录 和 库目录

包含目录:D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include

库目录:D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86

设置好了,新建一个main.cpp文件,是程序的入口文件

首先要包含几个头文件和几个库文件

#include <d3d9.h>
#include <d3dx9.h>
#include <tchar.h>

#pragma comment(lib,"winmm.lib")
#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")

然后就是搭建windows消息循环窗口了:

#include <d3d9.h> #include <d3dx9.h> #include <tchar.h> #pragma comment(lib,"winmm.lib") #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib")

#define WINDOW_WIDTH 800 // 宽
#define WINDOW_HEIGHT 600 // 高
#define WINDOW_TITLE L"你好,windows!" // 标题

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); // 窗体过程函数

// 程序入口 [10/17/2014 Administrator]
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nShowCmd)
{
// 窗体创建step-1/4:窗体类设计
WNDCLASSEX wndClass = {0};
wndClass.cbSize = sizeof(WNDCLASSEX) ;
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.lpfnWndProc = WndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hInstance;
wndClass.hIcon = (HICON)::LoadImage(NULL,L"icon.ico",IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);
wndClass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
wndClass.lpszMenuName = NULL;
wndClass.lpszClassName = L"myClassName";

// 窗体创建step-2/4:窗体类注册
if(!RegisterClassEx(&wndClass))
return -1;

// 窗体创建step-3/4:创建窗体得到句柄
HWND hwnd = CreateWindow( L"myClassName", WINDOW_TITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);

// 窗体创建step-4/4:显示窗体
MoveWindow(hwnd,250,80,WINDOW_WIDTH,WINDOW_HEIGHT,true);
ShowWindow( hwnd, nShowCmd );
UpdateWindow(hwnd);

// 消息循环
MSG msg = { 0 };
while( msg.message != WM_QUIT )
{
if( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
// 游戏逻辑更新和画面渲染工作
}
}

UnregisterClass(L"myClassName", wndClass.hInstance);

return 0;
}

// 消息处理函数
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_PAINT:
ValidateRect(hwnd, NULL);
break;

case WM_KEYDOWN:
if (wParam == VK_ESCAPE)
DestroyWindow(hwnd);
break;

case WM_DESTROY:
PostQuitMessage(0);
break;

default:
return DefWindowProc(hwnd, message, wParam, lParam);
}

return 0;
}

窗体创建完成了,运行一下,就会出现一个800*600的窗体了,至此,开发环境就搭好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: