如何基于MonoGame开发太空大战小游戏

发布时间:2022-01-05 16:18:55 作者:柒染
来源:亿速云 阅读:141

本篇文章给大家分享的是有关如何基于MonoGame开发太空大战小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

最近突发奇想,下载了Microsoft Small Basic并编写了两个图形变换的小程序,希望能够让儿子对科技产生兴趣(当然,成为像我一样的码农可不是我的初衷)。 捡起自己入门电脑编程时学会的第一门语言 GW Basic,下载完Small Basic后写的第一个图形程序就是一个五彩缤纷的小球在屏幕上乱跳的程序,看上去有点像DOS下小球病毒爆发时的现象(不好意思暴露自己年龄了),而第二个程序则在窗口中显示了一个可以用鼠标控制的飞机图案,儿子当时看得很认真。心想,干脆自己做一款打飞机的游戏给儿子玩玩吧,考虑到Small Basic在图形处理方面毕竟还是相对薄弱,所以我就凭着以前对Microsoft XNA的研究经验,在Visual Studio 2013中借助MonoGame实现了一款简单的太空大战小游戏。

MonoGame

先简单介绍一下MonoGame吧。它是针对Microsoft XNA 4的开源实现,它能够支持诸如Xbox360、Windows、Windows Phone、iOS、Android、Mac OS X、Linux、Windows 8 Metro、Windows 10等多种平台。目前正在完善针对PlayStation Mobile、树莓派以及PlayStation 4的支持。在图形系统方面,MonoGame允许开发者选择基于OpenGL或者DirectX。您可以到MonoGame的官网介绍网页上了解更多有关MonoGame的历史信息。

在两年前我曾打算模拟一个类似魂斗罗的游戏,当时使用的是Microsoft XNA Game Studio 4,后来由于魂斗罗游戏地图处理有问题,我也没有继续深究这个游戏了。于是,在之后的一段时间中,我曾经也想过业余时间做个别力所能及的小游戏自娱自乐一下,可惜被告知Microsoft XNA Game Studio已经被微软抛弃了,最后一个支持它的VS版本是Visual Studio 2010,于是经过一番搜索,我开始了自己的MonoGame之旅。

刚开始的时候,MonoGame让我抓狂,因为它缺失一项最重要的功能:Content Pipeline。如果你要使用MonoGame,你必须继续使用Microsoft XNA Game Studio,并使用XNA的Content Pipeline将所需的材质、声音、动画、字体等素材编译成xnb文件,然后再到MonoGame中调用。这是非常让人难以接受的,所以,当时我也基本打消了继续使用MonoGame的念头。

然而,经过开源社区的努力,新版本的MonoGame已经全面支持Content Pipeline了,您可以从MonoGame所创建的解决方案管理器中找到游戏的Content文件,并双击它来打开Content编辑器:

应该说,使用最新版的MonoGame,已经可以满足开发中等规模的游戏需要了,尽管它仍然存在一些程序缺陷(Bugs)。

Starwar

MonoGame的介绍到此为止,限于篇幅我也就不深入讲解了。请您先移步到下面这段视频,看看我做的Starwar太空大战游戏是不是像模像样:

点击此处观看视频

怎么样?还可以吧?不管怎么样,能够吸引到小朋友就行。^_^

游戏的下载和安装

请【点击此处】下载游戏的安装包。注意,在安装的过程中会提示安装OpenAL(一套开放的音频库),单击确认安装即可。在安装完成后,你可以通过开始菜单启动游戏配置程序以及Starwar太空大战游戏。

在启动游戏配置系统时,会出现一个用户账户控制(User Access Control)的对话框,单击“是(Yes)”即可,然后会打开配置界面:

配置完成单击确定按钮后,再进入开始菜单选择Starwar打开游戏即可:

用鼠标移动飞机,单击左键发射激光攻打敌机,游戏任意时刻按ESC键退出。

游戏的源代码

本游戏的源代码是公开的,地址是:https://github.com/daxnet/Starwar。您可以使用Git客户端将源代码克隆到本地,注意,要正确编译源代码,您的计算机需要满足以下条件:

  1. 安装Visual Studio 2013

  2. 安装MonoGame 3.4

  3. .NET Framework:版本4.0

说明:游戏资源均来自于网络。

游戏的设计

游戏基于Visual C#采用面向对象设计,在游戏业务中,参与游戏的对象统称为精灵(Sprite),以下是本游戏各种不同类型的精灵类依赖图:

实现代码在此就不贴了。

以上就是如何基于MonoGame开发太空大战小游戏,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. Android游戏开发十日通(6)- 太空大战
  2. python怎么实现大战外星人小游戏示例

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:zeppelin该如何入门使用

下一篇:leecode中如何解决排序数组问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》