`
csstome
  • 浏览: 1529841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

XNA游戏开发之速度调整

 
阅读更多

摘要:

我们知道在Windows Phone 7中XNA游戏默认的帧频是30fps(PC和xbox360中是60fps),可是实际游戏开发过程中这个值未必都能满足我们的需求。下面我们就一块看一下在XNA游戏开发过程中如何调整游戏的速度。

内容:

在Game类中有一个属性TargetElapsedTime,用来表示每一帧之间的时间间隔,例如默认为1/30秒,也就是帧频为30fps。如果仔细看一下你会发现在VS自动生成的Game1类的构造函数中给TargetElapsedTime属性赋值为TimeSpan .FromTicks(333333) ,也就是时间间隔为 0.0333… 秒,帧频 30fps 。既然如此我们就可以修改这个值达到我们想要的结果,例如我们修改为 333333*2 就可以将速度放慢一倍(当然也可以不使用刻度为单位,例如使用 TimeSpan .FromSeconds(1/15) )。

这种方法看似可行,但是多数情况下我们没有办法这么做,因为如果修改了 TargetElapsedTime属性就表示整个游戏的帧频都进行了修改。通常游戏中不可能都是某种固定帧频,一般都是游戏中有些元素运动得快,有些元素运动的慢,因此很难用某种统一的速度来设置。这个时候我们怎么办呢?

我们知道游戏的动画速度取决于Update中动态变量变化的程度,如果我们可以控制变量的变化速度就可以修改游戏的速度。此时我们注意到Update方法有一个GameTime类型的参数,它有一个属性ElapsedGameTime ,表示从上一帧到这一帧的时间间隔。有了它我们只需要设置一个变量用来记录时间间隔,只有间隔到达我们需要的值时才在Update中修改动态变量,这样的话就可以变形的修改动画速度了。例如下面一个通过动态更改图片来形成动画效果Demo(图片在对应的Content中,分别为1.png、2.png、3.png、4.png、5.png),原来的代码如下:

经过修改后:

下面我们对比一下这个动画的修改前后的效果:

修改帧频前

修改帧频后

OK,今天就到这里吧!

知识共享许可协议
作品采用知识共享署名 2.5 中国大陆许可协议进行许可,欢迎转载,演绎或用于商业目的。但转载请注明来自崔江涛(KenshinCui),并包含相关链接。

分享到:
评论

相关推荐

    XNA 游戏编程学习总结2D与3D实现

    XNA游戏编程是一种基于.NET Framework的游戏开发框架,由微软公司推出,主要针对Windows、Xbox 360和Zune等平台。它为开发者提供了一种高效、便捷的方式来创建2D和3D游戏。在“XNA游戏编程学习总结2D与3D实现-2D源码...

    C# XNA 坦克大战 游戏

    XNA是微软推出的游戏开发框架,它简化了游戏开发过程,特别适合小型游戏和学习游戏开发的初学者。通过C#与XNA的结合,开发者可以快速构建2D和3D游戏。 在《坦克大战》这款游戏中,核心的编程概念包括: 1. **游戏...

    C#XNA格斗游戏Demo(附源码)

    尽管存在这些问题,这个Demo仍然是一个很好的实践平台,特别是对于想学习C#和XNA游戏开发的人来说。你可以通过阅读和修改源代码来了解游戏循环、动画管理、碰撞检测、角色控制等基础知识。同时,这也是一个提升编程...

    XNA游戏:重力感应

    ### XNA游戏开发中的重力感应技术解析 #### 引言 随着移动设备技术的不断发展,用户对于游戏体验的需求也在不断提高。XNA框架作为一种专为游戏开发者设计的强大工具集,支持多种平台,如Windows Phone等,它使得...

    XNA飞车游戏代码分

    "XNA飞车游戏代码分析"是一个针对初学者和中级开发者的学习资源,旨在帮助他们更好地理解和掌握XNA框架在游戏开发中的应用。 XNA框架基于.NET Framework,提供了丰富的功能,包括图形渲染、音频处理、输入管理和...

    XNA2版俄罗斯方块源码

    XNA提供了一个Time类,可以通过它的属性来调整游戏速度。 - **渲染**:使用SpriteBatch类来绘制2D图形,包括方块、背景和得分。这涉及到纹理的加载、坐标转换以及颜色应用。 通过对XNA 2.0版俄罗斯方块源码的分析...

    xna粒子效果

    XNA框架是微软推出的一款面向游戏开发者的工具,它提供了一套完整的游戏开发环境,让开发者可以轻松地创建跨平台的游戏。本文将深入探讨如何在XNA框架下实现粒子效果,以及它在游戏开发中的应用。 一、XNA框架简介 ...

    xna源码(游戏打砖块的源码)

    《XNA游戏开发:深入解析“打砖块”源码》 XNA是微软推出的一款游戏开发框架,它为开发者提供了构建2D和3D游戏的便捷途径,尤其适合初学者学习游戏编程。本篇文章将深入探讨一款基于XNA框架、使用C#语言编写的经典...

    xna 爆炸效果 源码

    在游戏开发领域,XNA框架是一个非常受欢迎的工具,它为开发者提供了构建Windows、Xbox 360以及Zune平台游戏的能力。本资源聚焦于一个特定的技术点——使用XNA实现2D爆炸效果。2D爆炸效果在很多游戏场景中都非常常见...

    XNA学习资料-XNA入门指南2.0

    XNA框架为游戏开发者提供了一个集成的环境,使得编程变得更加简单,尤其对于初学者来说,XNA提供了丰富的工具和资源,降低了游戏开发的门槛。 《XNA入门指南2.0》这份资料很显然是为初学者设计的,旨在帮助新接触...

    xna中小球的滚动

    在XNA这个强大的游戏开发框架中,实现小球滚动的效果是一项基础且重要的任务。这篇文章将深入探讨如何在XNA环境中,通过键盘输入控制小球的动态运动,以及如何有效地操作摄像机来展示游戏场景,尤其是当小球必须限制...

    xna program recipes

    - **XNA Game Studio**: XNA是一款由微软开发的游戏开发框架,适用于Windows和Xbox 360平台。它为开发者提供了一套完整的工具链,包括游戏引擎、内容管道、调试工具等。 - **安装XNA Game Studio 3.0**: - 首先确保...

    XNA学习文档,教你制作简单的2D游戏打乒乓

    ### XNA游戏开发教程:创建2D乒乓球游戏 #### 一、引言 本文档将指导您使用XNA框架创建一款简单的2D乒乓球游戏。XNA是一个由微软提供的游戏开发平台,它支持C#和.NET Framework,使得开发者能够轻松地为Windows、...

    最好的一本XNA教程XNA 2.0 Game Programming Recipes

    本书《XNA 2.0 Game Programming Recipes: A Problem-Solution Approach》是一本专为初学者设计的游戏开发教程,作者为 Riemer Grootjans。该书采用了一种非常实用的教学方式:“提出问题→解决方案→工作原理→具体...

    Windows_Phone_7入门经典-使用Silverlight和XNA开发Windows_Phone应用

    - **XNA Framework**:XNA是Microsoft提供的一套游戏开发工具和框架,特别适合于创建2D和3D游戏。在WP7上,XNA是游戏开发的主要工具。 - **图形渲染**:XNA提供了强大的图形渲染能力,包括纹理映射、光照处理等功能...

    XNA动画示例(人物行走)

    XNA框架是一款由微软开发的用于游戏开发的开源软件,它为开发者提供了强大的2D和3D图形渲染能力,以及音频处理和游戏输入等功能。在XNA中,动画是游戏开发中的重要组成部分,尤其在角色行走这一常见场景中,生动逼真...

    xna中如何使用重力感应

    在XNA游戏开发中,利用重力感应技术可以让玩家通过移动设备来控制游戏中的对象,为游戏带来更真实的交互体验。在Windows Phone 7 (WP7)平台上,开发者可以使用内置的传感器API来获取设备的重力感应数据。本文将详细...

Global site tag (gtag.js) - Google Analytics