win32+DirectX9小游戏

 

一个画图的小游戏,原本是某人的作业题,题目要求是做出一个能画圆,写简单的字的小系统。被我各种YY后成这样的了(话说为什么我们学校就没这样的题目。。都是对着黑屏白字看—  —)

这个小游戏用的是win32+DirectX9+GDI,语言是C++,最重要的是源代码里演示了 用DX开发2Dwindows窗口游戏的基本框架,而且有大量的中文说明,我想对于想学游戏编程的新人来说有一定的价值(VS2010下编译的)。

框架包括:窗口建立,图片读取,简单动画播放,键盘控制,MP3读取与播放,都是游戏所需的最基础的东西(别看这很简单,当年自学的时候找不到对应的资料,特别是带中文注释的小程序。。各种郁闷,所以现在会了一点后,果断献身开源+中文注释事业—  —|||)

代码片段:

(要做的事基本上就是填充这4个函数)

1 int InitGame_MH( HWND hWnd )
2 {//初始化
3 //初始化角色类
4   Lead.LoadRolePng( L"mo1.png",0 );
5 Lead.LoadRolePng( L"mo2.png",1 );
6 Lead.LoadRolePng( L"点.png",2 );
7 Lead.LoadRolePng( L"mo3.png", 3 );
8 Lead.LoadRolePng( L"mo31.png",4 );
9 Lead.LoadRolePng( L"mo32.png",5 );
10 Lead.LoadRolePng( L"mo33.png",6 );
11 Lead.LoadRolePng( L"mo34.png",7 );
12 Lead.LoadRolePng( L"mo35.png",8 );
13 Lead.LoadRolePng( L"mo36.png",9 );
14 Lead.LoadRolePng( L"mo37.png",10);
15 Lead.LoadRolePng( L"mo38.png",11);
16 Lead.InitCRole( g_pd3dDevice,gSprite,pPerf,pLoader ); //这个要在读取图片之后进行
17 //初始化场景类
18   Scene[0].InitCScene( g_pd3dDevice, gSprite );
19 Scene[0].LoadBGM( "恋愛サーキュレーション.mp3" );
20 Scene[0].LoadBackground( L"elonaworldmap.jpg" );
21
22 return 1;
23 }//end of initgame_mh
24  
25
26 int CalculationGame_MH()
27 {//计算
28 Lead.CalculationRole( Scene[0],Keyboard_Control );
29 //这个小游戏没有场景判定,这个Scene[0]目前传进去就是没用的
30 return 1;
31 }//end of gamemain_mh
32
33 int DrawingGame_MH()
34 {//绘图和播放声音
35
36 Scene[0].PlayCScene();
37 Scene[0].PlayBGM();
38
39 Lead.PlayRole();
40
41 return 1;
42 }//end of drawinggame_mh
43
44 int ShutdownGame_MH()
45 {//释放
46
47 if( gSprite != NULL )
48 gSprite->Release(); //释放DSprite对象
49
50 return 1;
51 }//end of shutdowngame_mh

话说用VS写过C#后发现,C#有个InterlliSense 系统,就是在 VS中键入各种名称时,只有打一两个字母IntelliSense 就会列出名单,只要选好按Enter就可以方便快速的输入代码,灰常好用!,可是VS写C++时就没用这个功能—  —

请问下有没有可能性在写C++时使用??有没有什么插件之类的东西能实现这个功能?

源代码+素材下载 115 提取码:f573954012

PS:这个框架来自我正在写的一个2D动作游戏,完整的框架(或者叫引擎?)还包括,碰撞检测,AI,粒子系统等等...不过完成度还比较可怜。

posted @ 2011-04-14 21:47  DSH(现代魔法研究协会~欢迎您的加入~)  阅读(1558)  评论(3编辑  收藏  举报