首页 > 代码库 > 学习笔记一:关于directx sdk的安装于一些概念
学习笔记一:关于directx sdk的安装于一些概念
关于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的窗体了,至此,开发环境就搭好了。
学习笔记一:关于directx sdk的安装于一些概念
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。