8.4 补间
补间(tween)是指随时间将一个值改为另一个值。补间可以用来创建动画、改变位置、颜色、大小或其他你可能想到的值。补间在Adobe Flash中的应用最为广泛,Adobe Flash中也提供了许多内置的补间函数。
8.4.1 补间概述
通过一个示例了解补间的工作原理是最简单的,然后我们将深入探究其细节。可以在已有的代码库中使用这个状态,但是如果想要创建一个新项目,就要添加对Tao.DevIL的引用,以及添加Sprite、Texture和TextureManager类。
class TweenTestState: IGameObject
{
Tween _tween = new Tween(0, 256, 5);
Sprite _sprite = new Sprite();
public SpriteTweenState(TextureManager textureManager)
{
_sprite.Texture = textureManager.Get("face");
_sprite.SetHeight(0);
_sprite.SetWidth(0);
}
public void Render()
{
// Rendering code goes here.
}
public void Update(double elapsedTime)
{
if (_tween.IsFinished() != true)
{
_tween.Update(elapsedTime);
_sprite.SetWidth((float)_tween.Value());
_sprite.SetHeight((float)_tween.Value());
}
}
}
代码中使用Tween对象,在5s内使一个精灵从无变到大小为256。这里的Tween构造函数接受3个参数。第一个参数是初始值,第二个参数是目标值,最后一个参数是从初始值变化到目标值所需的时间。