从初涉编程到学习C#也一年有余了,从今天开始就借一个《坦克大战》来对自己以前学过的知识进行一次汇总和尝试开始写博客,好了,废话不多说,开篇。
XNA中的X表示能够在WindowsXbox和合作伙伴之间达到跨平台的强大的软件工具。N表示“下一代(Next-generation)”,A表示“架构(Architecture)”。XNA是基于DirectX的游戏开发环境,是微软对于 Managed DirectX 的修正及扩充版本。
以上抄自百度百科,XNA现在确实比较少人用,微软貌似也不打算更新了,XNA现在的最高版本依旧还是4.0,但这个没关系,反正用XNA的目的只是为了巩固下自己的基础知识而已,所有用XNA来写在适合不过了,其中原因有几点:
1.还是依旧熟悉的C#语言 (这完全废话不解释 = =
2.可以对一个游戏的编写有一个系统的了解,用unity开发估计会简单很多、但不有利于知识的汇总
3.毕竟下来要写的是我们儿时经常玩的《小坦克大战》,XNA搞2d还是很方便的
如果是单纯想学习游戏开发希望能找份好工作的话就不推荐搞这个了,压根就没人用、工作岗位太少了,当然我的本意也只是为了巩固下知识,和初步了解下看看究竟这个"游戏开发”到底是个什么玩意; (当然游戏开发还是大大推荐Unity,无论是做2d还是3d,这个游戏引擎都是非常方便和好用!
好,现在开始看看XNA的项目模板都有些什么东西吧! (要安装XNA Game Studio后才能找到XNA的项目模板
新建一个名为TankeWar的WIndows游戏项目
vs自动帮我们多创建了一个名为"TankeWarContent“的内容项目,这个项目就是专门用来放游戏资源的,例如一些游戏贴图、音乐什么的,现在看下Gmae1.cs里面都有些什么吧。
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Mi