DirectX游戏编程-1.创建空白window窗口

 1 #include <windows.h>
 2
 3 #define WIN_CLASS "GameFrame" //窗口类名
 4 #define WIN_NAME "SampleGame" //窗口标题
 5 #define WIN_WIDTH 800          //窗口宽度
 6 #define WIN_HEIGHT 600          //窗口高度
 7
 8
 9 //窗口消息处理函数
10 LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
11 {
12     switch (msg)
13     {
14     case WM_DESTROY:
15         PostQuitMessage(0);
16         break;
17     case WM_LBUTTONUP:
18         MessageBox(NULL,"Hello Directx!","Info",MB_OK);
19         break;
20     }
21     return DefWindowProc(hwnd,msg,wparam,lparam);
22 }
23
24
25 //标准win32程序入口
26 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
27 {
28     WNDCLASSEX wc={sizeof(WNDCLASSEX),CS_CLASSDC,WndProc,0,0,hInstance,LoadIcon(NULL,IDI_APPLICATION),LoadCursor(NULL,IDC_ARROW),NULL,NULL,WIN_CLASS,NULL};
29     RegisterClassEx(&wc);
30     HWND hwnd= CreateWindow(WIN_CLASS,WIN_NAME,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,WIN_WIDTH,WIN_HEIGHT,NULL,NULL,hInstance,NULL);
31     if (hwnd==0)
32     {
33         return 0;
34     }
35     ShowWindow(hwnd,nShowCmd);
36     UpdateWindow(hwnd);
37     MSG msg;
38     ZeroMemory(&msg,sizeof(MSG));
39     while (msg.message!=WM_QUIT)
40     {
41         if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
42         {
43             TranslateMessage(&msg);
44             DispatchMessage(&msg);
45         }
46     }
47     UnregisterClass(WIN_CLASS,wc.hInstance);
48     return 0;
49 }
时间: 2024-10-29 19:09:53

DirectX游戏编程-1.创建空白window窗口的相关文章

DirectX游戏编程学习(二)文本显示与基本图元绘制

一.文本显示 在游戏开发中,在游戏界面上现实一些文字信息是很常见的一件事,要学习DX游戏开发,显然了解DX文本如何显示是必不可少的.字符包含诸多的属性,比如颜色,大小,是否加粗,斜体,等等.我们通过DX提供的LPD3DFONT对象来指定这些字体属性,然后再进行渲染. 采用WIN32程序框架实现文本绘制的具体流程如下: 二.基本图元的绘制 无论再复杂的物体,它归根结底都是由基本图元构成的.在CG(Computer graphics)领域,人们普遍使用一组或者多组包围物体表面的多边形近似的表示真实的

DirectX游戏编程入门

刚开始学习D3D,安装完DirectX9后,在VS2008中新建Win32项目· -------------------------------------------------------------- //设置好Direct3D的库链接,这里也可以通过项目属性的链接器 -- 附加依赖项完成添加; #pragma  comment(lib,"dxerr.lib")#pragma  comment(lib,"dxguid.lib")#pragma  comment

DirectX游戏编程心得之:使用2-D坐标显示2-D图形的注意事项

最近打算做几款2-D小游戏,当然是用Direct3D来做的,所以就要使用Direct3D提供的2D顶点了.说是2D顶点,其实却有4个分量!而正是因为这种矛盾性,所以使用起来有不少注意事项.这些是我浪费了很多的青春而发现的,希望大家吸取教训啊! 具体来说,有这么几个方面的注意事项: 1. 2-D顶点结构的定义 比如,要定义一个带纹理坐标的2-D顶点结构,那么应该定义如下: struct Vertex2DTex { Vertex2DTex():pos2D(0.0f, 0.0f, 1.0f, 1.0f

Windows游戏编程之从零开始d

I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来浅墨的博客逛一下看有没有更新,"每天都来就像看女神那般不依不舍",弄得我再不更新都不好意思了,哈哈~怎么说呢,前段时间忙毕设,回国,暑假,间隔年旅行休整,然后是适应新的生活,各种事情,也真正没有心境来更新博客了,最近正好心境安定下来,就继续开始写博.额,关于思想汇报改天我专门写一篇文章和大家交流交流,现在先打住说正事吧~ 首

【浅墨Unity3D Shader编程】之一 游戏场景的创建 &amp; 第一个Shader的书写

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇,本文的第一部分系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式,最后一部分讲解了如何在Un

DirectX 11游戏编程学习笔记之7: 第6章Drawing in Direct3D(在Direct3D中绘制)(重点回顾+勘误)

        本文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系[email protected]         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.同样的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之6 这一章应该是本书最长的一章了,可能也是最难的一章,所以大家一定要好好消化,仔细学习!这一章大致相当于"龙书"第二版的第7章和第8章,还添加了一些别的东西. 由于这一

VC++编程之第三课笔记——MFC窗口创建过程以及窗口类的封装

第三课 MFC窗口创建过程以及窗口类的封装 MFC的每一个类都是以C开头的,表明这是一个Class. 工程包含(单文档) 创建工程名为aaa的工程(单文档)时,在类视图中可看见五个类: CAboutDlg CMainFrame CAaaApp CAaaDoc CAaaView 其中: 类CAboutDlg继承自CDialog类,对话框的类 类CMainFrame继承自CFrameWnd类,创建整个程序的框架窗口 类CAaaApp继承自CWinApp类,创建唯一的应用程序对象 类CAaaDoc继承

【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 &amp; 第一个Shader的书写

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇,本文的第一部分为系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式,最后一部分讲解了如何在U

52 java编程思想——创建窗口和程序片 程序片限制

52.java编程思想--创建窗口和程序片 程序片限制 出于安全缘故,程序片十分受到限制,并且有很多的事我们都不能做.您一般会问:程序片看起来能做什么,传闻它又能做什么:扩展浏览器中WEB 页的功能.自从作为一个网上冲浪者,我们从未真正想了解是否一个WEB 页来自友好的或者不友好的站点,我们想要一些可以安全地行动的代码.所以我们可能会注意到大量的限制: (1) 一个程序片不能接触到本地的磁盘.这意味着不能在本地磁盘上写和读,我们不想一个程序片通过WEB页面阅读和传送重要的信息.写是被禁止的,当然