![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
XNA
文章平均质量分 56
Jether
设计模式、Flash Actionscript、Game Maker Studio、Photoshop
展开
-
XNA4.0安装步骤
首先,安装VS2010,具体过程省略,但要注意一定是2010版本的,一定不能是之前的版本,并且一定包含了C#语言。其次,到http://create.msdn.com/en-us/resources/downloads。如果你的系统是Windows 7,就下载图中红框的第一个链接原创 2011-07-19 22:53:23 · 2659 阅读 · 0 评论 -
第6节 视口、镜头和游戏状态——XNA4.0 2D游戏开发入门教程
先说视口,视口就是Viewport,在《XNA4.0学习指南》中是用于多人游戏分屏显示的,其实其他的地方也可以用。视口可以控制在游戏窗口中实际显示的内容,可以让内容比整个窗口小,更可以是窗口的一半,所以就有了用于分屏显示的用途,但是其他时候也能用。我们在Game1.cs中定义字段private Viewport vp1,在Initialize中的最前边写上如下代码:原创 2013-04-14 10:37:24 · 345 阅读 · 0 评论 -
第4节 角色的状态、运动分析和简单的碰撞检测——XNA4.0 2D游戏开发入门教程
既然游戏角色有好几张图片,那么根据什么决定使用哪一张图片呢?一个常见的好方法是给角色类加一个枚举,枚举是角色的各种状态,然后在Update或者Draw中写一个switch,根据这个枚举选择显示哪张图片。有的时候,会有需要状态组合的情况,比如状态有走路、站立,也有开枪和不开枪,组合之后就是走路开枪、站立开枪之类的状态,这时可以使用C#的标志枚举,用法如下: [Flags]原创 2013-04-14 10:37:09 · 392 阅读 · 0 评论 -
第3节 建立第一个角色——XNA4.0 2D游戏开发入门教程
我们有一个大的思路,那就是现在有一个Game1类,它是启动类,并且,它的Update和Draw函数被每帧每帧地调用。我们可能有很多角色或者是其他的游戏元素,他们实现了一个接口,这个接口中有Update和Draw的定义,然后Game1的Update和Draw调用它们。这样就是简单的XNA架构。所以我们新建一个接口,叫“IRole”,定义了方法Update和Draw,它的代码大概是:原创 2013-04-14 10:37:01 · 501 阅读 · 0 评论 -
第1节 XNA4.0开发环境的安装——XNA4.0 2D游戏开发入门教程
XNA4.0 2D游戏开发入门教程此教程是我在看完《XNA4.0学习指南》电子书后,做了一个游戏之后写的,一些用了那本电子书的内容,但是也有自己添加的内容。本教程适合人员:有C#和面向对象编程基础第1节 XNA4.0开发环境的安装首先,安装VS2010,具体过程省略,但要注意一定是2010版本的,一定不能是之前的版本,并且一定包含了C#语言。其次,到http://create.原创 2013-04-14 10:36:44 · 481 阅读 · 0 评论 -
第5节 键盘输入和人工智能简析——XNA4.0 2D游戏开发入门教程
看了上一节的朋友有可能会大呼上当,因为无论添加多少个角色状态,游戏角色都还会保持一开始的图片显示,这是因为我们需要改变角色状态的条件。改变的条件往往有两个,一是用户输入,一是根据其他数据(时间、其他角色的情况)来改变。先说用户输入,我喜欢把键盘输入放在一个地方单独管理。因为不论是程序员还是玩家,都有可能自定义按键,所以我用一个哈希表来存储按键对应关系。按键分为游戏控制中的按键和实际键盘原创 2013-04-14 10:37:16 · 402 阅读 · 0 评论 -
第2节 轮询机制和帧率——XNA4.0 2D游戏开发入门教程
新建项目(我起名为“Smartoys”)后,VS中出现一个新的解决方案,里边有两个项目,如图所示:可以看到,一个是Smartoys项目,一个是SmartoysContent项目,前者用于保存解决方案的代码,后者用于提供资源,比如图片、声音等。我有个习惯,那就是新建一个没接触过的东西的项目后,立刻会点击编译运行按钮,这时出现这样的窗口:窗口中什么都没有,只有浅蓝色的背景,原创 2013-04-14 10:36:53 · 413 阅读 · 0 评论 -
XNA图片缩放的两种方法
第一种:spriteBatch.Draw(texture, new Vector2(10, 20), null, Color.White, 0, Vector2.Zero, new Vector2(beishu * 0.5f, beishu * 0.5f), SpriteEffects.None, 0);第七个参数是放大倍数,这种放大的结果是模糊处理的(可能是用了插值算法):第原创 2013-04-13 17:23:11 · 403 阅读 · 0 评论 -
星际争霸是如何判断鼠标点到某个单位的
学习XNA的时候,《XNA4.0学习指南》上说碰撞检测是把玩家的角色跟一个数组的敌人角色用一个循环一一检测。由此联想到即时战略游戏(星际争霸、魔兽争霸、红色警戒、帝国时代)里边是怎么判断鼠标点到哪个单位的。首先,记下鼠标的x、y值,然后把这对值与游戏中所有角色(也可以判断所有在屏原创 2011-07-19 15:19:01 · 577 阅读 · 0 评论 -
XNA2D缩放图片的两种方法
第一种,原样放大图片Matrix scaleMatrix = Matrix.CreateScale(stretchX,stretchY, 0f);spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, n原创 2011-07-16 22:13:46 · 396 阅读 · 0 评论