XNA游戏开发学习笔记系列(二)

动画

XNA游戏中的动画是由大量独立图片构成的,将所有独立图片绘制到一张图片上,这张图片称作精灵表,然后不断地加载该图片的特定部分来实现动画效果。

更改项目帧频的方法:

在项目类的构造器末尾添加一行代码  TargetElapsedTime = new TimeSpan(0,0,0,0,50);

这一行代码告诉XNA每50毫秒调用一次Update方法。

 

而对于只想改变某个精灵的帧频又如何实现呢?方法如下:

int timeSinceLastFrame = 0;   //变量跟踪动画帧改变后过了多长时间
int millisecondsPerFrame = 50;    //变量指定要过多长时间才改变当前帧

 

timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds;
            if (timeSinceLastFrame >= millisecondsPerFrame)
            {
                timeSinceLastFrame -= millisecondsPerFrame;
                ++currentFrame.X;
                if (currentFrame.X >= sheetSize.X)
                {
                    currentFrame.X = 0;
                    ++currentFrame.Y;
                    if (currentFrame.Y >= sheetSize.Y)
                        currentFrame.Y = 0;
                }
            }

源代码下载地址:http://www.ctdisk.com/file/6690757

posted @ 2012-05-10 01:43  helloxyz  Views(229)  Comments(0Edit  收藏  举报