2D XNA游戏中的动画的制作过程很像卡通手翻书。动画制作包含着大量的独立图像,通过在一个周期内图像间的快速切换来使它们显示为动画。通常精灵动画存放在图片文件中,您需要用某种顺序把图片上独立的图像提取出来,然后绘制在屏幕上。本书把这些图片文件称为“精灵位图(Sprite Sheet)”。

现在您已经将精灵位图加载到Texture2D对象中,可以开始考虑如何在精灵位图上轮流获得独立的精灵帧了。为了编写这样的一个算法,您需要了解以下信息:

  • 精灵位图中每个单独图像(或称为帧)的宽和高(frameSize)。

  • 精灵位图的行与列的总数(sheetSize)。

  • 指示接下来精灵位图中将要绘制的精灵帧在精灵位图中所处的行与列的位置的索引(currentFrame)。

Point frameSize = new Point(75, 75);
Point currentFrame = new Point(0, 0);
Point sheetSize = new Point(6, 8);

对于这几个变量,Point结构体都可以工作得很好,因为它们都需要一种能表示2D坐标(X和Y位置)的数据类型。

  现在您可以添加SpriteBatch.Draw调用了。您将使用与之前几个例子中相似的版本,唯一的不同点是:不再向源矩阵传递null值,而是为第三个参数传递一个基于currentFrame和frameSize的源矩形。以下代码可以实现这一点,将它们添加到Game1类的Draw方法中,位于base.Draw之前:

 1 spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);
 2  spriteBatch.Draw(texture, Vector2.Zero,
 3         new Rectangle(currentFrame.X * frameSize.X,
 4         currentFrame.Y * frameSize.Y,
 5         frameSize.X,
 6         frameSize.Y),
 7     Color.White, 0, Vector2.Zero,
 8     1, SpriteEffects.None, 0);
 9
10 spriteBatch.End();

转载于:https://www.cnblogs.com/tqj-zyy/archive/2012/05/19/2508546.html

【XNA4.0】动画相关推荐

  1. Blender3.0动画制作入门学习教程 Learn Animation with Blender (2021)

    要求 下载并安装Blender.免费下载和免费用于任何目的. 描述 加入我的动画课程. 在本课程中,我将从头开始讲述在Blender中创建动画场景的过程. 从第一步到最终渲染.在这个课程中,我们将使用 ...

  2. [转]XNA 3.1 转换到 XNA4.0 的备忘录

    XNA 3.1 转换到 XNA4.0 的备忘录 xna3.1与4.0的区别不小,但也不是很大,在转换一些项目时候下面的tip能给些帮助.原文地址是:http://blogs.msdn.com/b/sh ...

  3. QQ超市模拟排配2D版 1.08 (XNA4.0)

    XNA4.0开发的.学XNA后的练手作品. 功能: 1.模拟配置货架    添加.删除.移动.旋转功能齐全    可设置双面宝石和4面宝石.    自动寻路 2.地图齐全.可保存. 3.实时自动计算当 ...

  4. XNA 3.1 转换到 XNA4.0 的备忘录

    本文原创版权归 博客园 Meta.Grfx 所有,转载请详细标明原创作者及出处,以示尊重! 作者:Meta.Grfx 原文:http://www.cnblogs.com/Baesky/archive/ ...

  5. Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画高级教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/2 ...

  6. Flash ActionScript 3.0 动画教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/21/ ...

  7. QQ超市模拟排配3D版 1.1 (XNA4.0)

    XNA4.0学习过程中,练手方便,就把2D的改为3D的了.功能基本没变化. 加了一些学习过程中学到的东西而已.山水.草地~ 超市货架地板等都是自己用3ds max2011建模,材质球改了下颜色,随便加 ...

  8. css3.0动画,CSS3.0实现霓虹灯按钮动画特效的示例代码

    今天给大家分享一个用CSS 3.0实现的霓虹灯按钮动画特效,效果如下: 以下是代码实现,欢迎大家复制粘贴和收藏. CSS 3.0实现霓虹灯按钮动画特效 * { font-family: '微软雅黑', ...

  9. Animate.css动画库的源码分析(大部分都是CSS3.0动画的使用)

    由于工作中,时常有的时候需要用到动画特效,自己本身也对CSS3.0的很多动画感兴趣,所以也是不是写一写原始的动画特效,在github上有一个工作中总结的上千种动画特效:点击打开链接,欢迎关注和star ...

最新文章

  1. gevent-zookeeper for windows
  2. 论逗逼的自我修养——BZOJ第一页计划
  3. 全局事件-广播(Broadcast)
  4. 判断文件是否为可执行程序
  5. 1069: [SCOI2007]最大土地面积|旋转卡壳
  6. 计算机跨专业考研方向java,【计算机考研】 初试出成绩前应该做的6件事
  7. 算法--Hash算法及其应用场所
  8. css如何实现一个小三角形,用纯css写一个常见的小三角形
  9. 数组转换为html,如何将多维PHP数组转换为html表
  10. 马云:员工表现不好,老板要先检讨
  11. 怎么进bios设置硬盘启动顺序|电脑bios硬盘启动设置方法
  12. 免费模板 | 高颜值超实用,这套财务分析模版自带BUFF加成
  13. C#.Net网络程序开发-Socket篇(转)
  14. matlab 去除水印,初試 Matlab 之去除水印
  15. web前段设计之痛:手机浏览器和pc浏览器的width:100%的自适应问题
  16. 【Kafka】(二十四)轻量级流计算 Kafka Streams 实践总结
  17. 制作 .Img 镜像文件
  18. 那就祝你有数不尽的鲜花和浪漫
  19. 12 Go 并发调度器模型
  20. 统计正交码片(c++)

热门文章

  1. php再次确认密码,Laravel6.2中用于用户登录的新密码确认流程详解
  2. 建立可视化决策平台,“数据化”首当其冲!
  3. 如何用报表解决销售工作衡量问题
  4. 微计算机控制技术 题库,微型计算机控制技术选择题
  5. 扫描服务器用户,服务器安全工具(自动扫描后门路径)
  6. 2014年电大计算机应用基础考,2017年电大计算机应用基础网考精彩试题与问题详解...
  7. 华为交换机命令 端口速率_华为交换机限速配置命令2016
  8. android 暂停音乐播放器,Android仿音乐播放器带进度的播放暂停按钮
  9. arm-linux启动,linux启动流程arm
  10. 人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks