win32+DirectX9小游戏

2011041421295485.jpg 2011041421301126.png

一个画图的小游戏,原本是某人的作业题,题目要求是做出一个能画圆,写简单的字的小系统。被我各种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,粒子系统等等...不过完成度还比较可怜。

转载于:https://www.cnblogs.com/dshGame/archive/2011/04/14/2016467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值