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;
}
}