- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
调整帧率35
调整帧率| 35调整帧率虽然三环动画看起来相当不错,当您运行该项目,有可能是你的动画运行时太快或太慢,你想变化的速度,在它的动画。刚才我提到的帧率,但这里有一个快速提醒:帧率一般指的是每秒游戏多次重绘整个场景。在XNA中,默认是每秒60帧(fps)。除非你运行在当前项目很慢的机器,你最有可能看到的是三个环形象工程画在60帧。还有一个不同类型的帧率,有关个别动画。这帧率(通常被称为动画速度)反映了在一个特定率通过在图像动画精灵表周期。现在,你的动画这三个圈的速度是60帧图像,因为你是从一个新的形象画精灵表每次重绘场景(这是发生在60帧)。图2-9。三个纺纱环...没有什么比这更好的!36 |第2章:有趣的小精灵有几种不同的方法可以改变你的三部动画速度环动画。新华社的游戏类有一个属性叫做TargetElapsedTime告诉XNAhow长之间等待的Game.Update方法调用。本质上讲,这代表每帧之间的时间量正在绘制。默认情况下这是设置1 / 60秒,这给新华社默认60帧。要改变你的项目帧率,在末尾加上了下面的代码行在Game1构造函数:TargetElapsedTime =新的TimeSpan(0,0,0,0,50);这告诉XNAto只能叫Game.Update每50毫秒,相当于一帧率20帧。编译并运行它的游戏,你应该看到相同的三环动画,但动画在更慢的速度。尝试不同的在构造的TimeSpan值(例如,1毫秒),看看有多快通过动画精灵表周期。理想的情况下,你要保持在60帧,这意味着你可以帧率通常保留默认帧率孤单。为什么是每秒60帧的标准?这是一个监视器或电视机的最低刷新频率将不会呈现闪烁时,人眼观看。如果你把帧率太高,XNAcant保证你将有种期待你的表现。该图形卡的GPU的速度,速度电脑的处理器,你消耗的资源数量,以及你的速度代码,请向你的比赛将决定是否有那个峰很长的路要走性能。幸运的是,XNAhas提供一种方法来检测如果您的游戏是从性能痛苦问题。该GameTime对象,它是通过为参数均Update和Draw方法,有一个布尔属性叫做IsRunningSlowly。你可以随时检查这些方法的时间内这个属性,如果它的价值是真实的,新华社无法跟上您所指定的帧率。在这种情况下,XNAwill实际上跳过调用绘制,努力跟上你打算加快。这可能是不敢大意,你的愿望在任何比赛,因此,如果这个不断发生,你可能要提醒用户,她的机器是有一个很难跟上你游戏。调整动画的速度同时调整了游戏本身并不影响动画的帧率三个环速度,这不是最理想的方法这样做。这是为什么?当您更改帧率该项目的,它会影响所有图片动画的速度,以及这样的话:移动对象的速度等。如果你想要一个动画形象,在60帧另以30 fps的动画,你将无法完成,通过调整整个游戏的帧率。调整动画的速度| 37删除行,你在上一节说,设置TargetElapsedTime委员Game1类,并让我们尝试了不同的路线。当调整一个精灵的动画的速度,你通常希望这样做的精灵孤单。这是可以做到的方式移动到下一帧中通过建立精灵手册只当指定时间已过。要做到这一点,添加两个类级变量,您将使用跟踪动画帧之间的时间:诠释timeSinceLastFrame = 0;诠释millisecondsPerFrame = 50;该timeSinceLastFrame变量将被用于跟踪多少时间已经过去了因为动画帧被改变。该millisecondsPerFrame变量将用于指定要多少时间等待移动当前帧之前索引。动画的帧的实际循环发生在你的更新方法。因此,下第一步是检查动画帧之间的运行时间和运行的代码将当前帧只有在需要的运行时间已经达到。修改您添加到更新方法的代码,包括周围的if语句这里显示的变化(以粗体显示):timeSinceLastFrame + = gameTime.ElapsedGameTime.Milliseconds;如果(timeSinceLastFrame millisecondsPerFrame){timeSinceLastFrame -= millisecondsPerFrame;+ + currentFrame.X;如果(currentFrame.X = sheetSize.X){currentFrame.X = 0;+ + currentFrame.Y;如果(currentFrame.Y = sheetSize.Y)currentFrame.Y = 0;}}正如你可以看到这里,您可以使用属性来判断gameTime.ElapsedGameTime多少时间已经过
您可能关注的文档
最近下载
- 电子对抗原理与技术(第3版)全套PPT课件.pptx
- 冷拼课件教学课件.pptx VIP
- 最新2025年秋开学第一课主题班会PPT课件(含抗战胜利80周年内容).ppt
- 22G101 三维彩色立体图集.docx VIP
- 2024年秋季新北师大版七年级上册数学全册教案设计.docx
- 吴清忠:人体复原工程.pdf VIP
- 川崎 Kawasaki 2022款 Z 400 中文用户手册 使用说明书2021年4月14日印刷.doc VIP
- [北京]冷轧带钢工程薄板酸轧设备基础施工方案.doc VIP
- 全国教学能力比赛《声临其境·影视配音要旨》教案(一等奖).pdf
- (高清版)DB36∕T 713-2013 高速公路红砂岩路基施工技术规范 .pdf VIP
文档评论(0)