教你使用XNA Game Studio 3.1+C#开发游戏

转载请注明出处!

作者:姜晓东 博客:http://blog.csdn.net/abigfrog  QQ:800736  MSN:j2ee@hotmail.com

Microsoft XNA Game Studio 3.1 是一套支持各版本的Microsoft Visual Studio 的游戏开发套件,使用它可以让学生或者爱好者来为Microsoft Windows、Microsoft Xbox 360 视频游戏机以及Microsoft Zune开发游戏。XNA Game Studio 包含XNA Framework,它是一套基于.NET Framework 2.0的托管库,是设计用来支持游戏开发的。

XNA Game Studio 3.1支持Windows7,以及常用的Visual Studio版本,我们这里使用Visual Studio2008。

XNA Game Studio 3.1支持创立3.1和3.0两种版本的项目,我们这里使用3.1。

如果你还没有安装,那么先去下载吧:下载地址

这里我们要做的是一个模拟跳舞机的游戏,先来看下界面:

image

当然,这只是一个简单的模拟,更多的功能需要你自己去实现,那么我们来看看它是如何做的,先来看看这个游戏包含哪些部分:

1、上下左右四个绿色箭头,代表未正确按键;

2、上下左右四个灰色箭头,代表已正确按键;

3、滚动的星空背景;

4、中间一个小人,代表按键开始,在它之前按键将不被游戏识别,在它之后超过一定区域也将视为未命中;

5、左上角的得分和失分记录;

6、这里听不到的按键声音及背景音乐。

好了,我们来从头开始:

1、首先,新建一个项目:

image

新建的项目包含如下部分:

image

这里要注意几点:

1)Content目录是存放游戏资源的目录,声音或者材质贴图都会放到这里

2)Game1.cs是游戏的主要文件,它是Microsoft.Xna.Framework.Game的子类,包含了游戏的主框架,包括资源加载、绘图、游戏逻辑等等

3)这里可以观察到对Xna.Framework下诸类的调用

3、Visual Studio帮我们创建了Game1.cs的主要框架代码,其结构如下:

image

Initialize()执行游戏运行前的一些初始化操作,这里是加载必须的服务和非图片资源的地方。
LoadContent()仅在游戏每次运行时调用一次,是加载游戏资源的地方。
UnloadContent()仅在游戏每次运行时调用一次,是卸载游戏资源的地方。
Update(GameTime gameTime)允许游戏逻辑更新游戏场景,比如碰撞检测、接受输入控制、音频播放等;gameTime参数代表一个时间片。
Draw(GameTime gameTime)负责绘制游戏场景。
graphics字段代表图形设备。
spriteBatch字段允许多个的精灵使用同样的设置批量绘制。

4、将箭头图像资源通过右键菜单添加到Content目录:

image  image

5、添加字体资源方法:

image

然后:

image

6、下面说下音频制作,首先从这里启动Microsoft Cross-Platform Audio Creation Tool 3 (XACT3):

image

界面如下:

image

首先右击Wave Banks,在菜单中选“Insert wave files”,或者按快捷键,Ctrl+W,选择一个wav格式的音频文件,如果你想用mp3,那么请先使用千千静听将它转换为wav格式,你也可以使用cooledit对wav进行编辑,以满足你的要求。

下一步,将右边Wave Bank窗口中新增的音频文件拖放到Sound Bank窗口,然后从Sound Bank窗口拖放到它的子窗口Cue Name窗口。

如果你想设置音乐的循环特性,那么请单击SoundBank上面的窗口中的一根音乐文件,左下角会出现它的相关属性:

image

Looping即使循环次数,这里Infinite表示无限!你可以在LoopCount中设置具体的次数,注意,如果你想让它成为背景音乐的话,把这里的Category设为Music即可。这里的Name就是在代码中使用的名称:

// 播放背景音乐
Cue cue = soundBank.GetCue("hml");
cue.Play();

设置完后,使用File-Build进行编译,将编译好的xap文件连同wav文件,通过引用加入到

image

其他的文件放于:

image 

7、下面放上全部源代码,注释中有详细说明:

Game1.cs:

箭头精灵ArrowSprite.cs:

星空对象ScrollingBackground.cs

脚本in.dat

舞步脚本说明:

第1行:保留

第2行~以后:0001 四位,分别表示左上下右,0为否,1为是,0001即为右箭头,1010为左和下箭头,依次类推。

8、总结,我们学习了:

1、什么是XNA

2、XNA生成的框架代码说明

3、如何通过XACT播放音乐

4、一个跳舞机游戏的源代码

5、如何通过XACT制作音频资源,及设置

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值