代码改变世界

随笔分类 -  XNA

【WP7进阶】——XNA游戏平面矩形碰撞检测

2011-03-26 19:55 by Terry_龙, 3067 阅读, 收藏, 编辑
摘要: 碰撞检测在几乎任何游戏都是很关键的一个部分,而碰撞检测又决定了游戏的流畅性,它对流畅性的影响如何之大的原因,在于碰撞检测算法越是精确到位,游戏将会运行得越缓慢。在碰撞检测方面,很明显需要在准确性和性能之间进行权衡。 实现碰撞检测最简单和快速的方式是通过包围盒算法。当用一个包围盒算法时,就需要在屏幕上的每个物体(纹理图像)周围“画“一个盒子(矩形块),然后检查这些盒子是否相交,如果产生相交(怎么听起来这么耳熟?),就即可判断出是产生碰撞了。经典的碰撞游戏可以看看如今某I设备上风靡全球的小鸟通过物理算法和碰撞检测等实现这只小鸟欺负小猪的传说,这点是很值得借鉴滴。本篇学习文章将会有两个纹理图,一个. 阅读全文

【WP7进阶】——XNA游戏精灵的动画

2011-03-23 17:34 by Terry_龙, 2707 阅读, 收藏, 编辑
摘要: 通过上面几节的学习,慢慢的掌握了精灵的一些基本常识,但是我们知道游戏中游戏精灵都是富于表现能力的,并且通过不同的动作或者动画去构造一个游戏。这篇文章将学习如何使用系列图为游戏精灵添加动画效果,以下面这一系列图为例,将其分割显示:--这个图片是偷 深蓝 的 这是一张png图片,我们还是需要把它加载到纹理图形中,可以考虑如何在精灵位图上轮流获得独立的精灵帧。以下编写这个精灵帧所要先得到的信息:精灵位图中每个单独图像(帧)的宽和高精灵位图的行与列的总数指示接下来精灵位图中将要绘制精灵帧在精灵位图中所处的行与列的位置索引 上面的那张精灵位图中,每个单独精灵帧的宽和高都是150像素,有10行1列。所以. 阅读全文

【WP7进阶】——XNA游戏精灵放大、旋转、层深度

2011-03-22 17:34 by Terry_龙, 2681 阅读, 收藏, 编辑
摘要: 游戏很多都是涉及到操纵游戏精灵的相关知识,本篇还是根据游戏精灵的一些常用知识做的学习,下面是本文大纲:精灵界面居中精灵放大并且旋转纹理的层深度 精灵在界面居中上篇文章我们为游戏添加一个背景图片,接下来我们希望不让游戏精灵走动了,而是让其在游戏的正中间停靠。默认Window.ClientBounds这个矩形块可以获得当前设备的宽度和高度-(这里是绝对宽度和高度,无论你屏幕如何旋转它始终获取原始宽高。)而使用graphics.GraphicsDevice.Viewport 获取设备的宽高则是通过上面设置的PreferredBackBuffer 属性获取而来。这个是两者的区别使精灵界面居中,代码如下 阅读全文

【WP7进阶】——XNA游戏初探2

2011-03-21 23:33 by Terry_龙, 2217 阅读, 收藏, 编辑
摘要: 继上篇文章,有一个问题遗留了下来。就是Update方法与Draw 方法这两个方法的呼叫时机,通过上篇文章,我们知道重写了Update方法 是用来更新游戏状态的,而重写Draw 方法是用来显示游戏画面的。当游戏程序一进入运行时间便会不断地呼叫Update 方法和Draw 方法。注意:并不是每一次Update 方法被呼叫之后,Draw 方法就会跟着被呼叫(正常情况是这个顺序)。Update 方法与 Draw 方法被呼叫的频率要视Game1 的属性IsFixedTimeStep 值而定。true (默认值)时游戏处于固定更新(fixed-step)模式。如果程序绘制画面时无法跟上更新频率,则会调用. 阅读全文

【WP7进阶】——XNA游戏初探

2011-03-20 13:21 by Terry_龙, 3499 阅读, 收藏, 编辑
摘要: 之前一直在做Android 的软件应用,包括现在学习Wp7 开发也一直未接触过游戏方面的开发。这几天对XNA开发粗略的看了一下,也找了相关的文档,觉得对于学习XNA方式开发WP7游戏应用应该是一件很酷的事。也是对自己本身职业技能的提高吧。学习XNA开发游戏需要的工具Visual Studio 2010 前提是安装了Developer Tools 套件或Express for Windows PhoneMicrosoft Cross-Platform Audio Creation Tool 3 (XACT3):XACT 是一个由 Microsoft 开发的跨平台的音效建立工具,可以协助您建立游. 阅读全文