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


    关于directx sdk开发环境的安装:


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

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

    下载安装就能够了

    VC++开发用的是VS2010


    新建VS2010project:win32项目,空项目




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

    首先右键-project-属性,在弹出的project属性中选择VC++文件夹


    这里要设置的是 包括文件夹 和 库文件夹


    包括文件夹:D:Program Files (x86)Microsoft DirectX SDK (June 2010)Include

    库文件夹:D:Program Files (x86)Microsoft DirectX SDK (June 2010)Libx86


    设置好了,新建一个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的窗口了,至此,开发环境就搭好了。


  • 相关阅读:
    Objective-C NSFileManager 文件管理总结
    ScrollView在RelativeLayout失效问题
    解决myeclipse中struts2 bug问题包的替换问题
    SOA究竟是个啥
    Flash--元件和实例
    MyEclipse中加入web项目到tomcat
    [C]if (CONDITION)语句中CONDITION的情况
    GTK经常使用控件之笔记本控件( GtkNotebook )
    org.apache.solr.handler.dataimport.DataImportHandlerException: Data Config problem: 对实体 &quot;characterEn
    Android自动测试之Monkey工具
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4073359.html
Copyright © 2020-2023  润新知