8.4 補間
補間(tween)是指隨時間將一個值改為另一個值。補間可以用來創(chuàng)建動畫、改變位置、顏色、大小或其他你可能想到的值。補間在Adobe Flash中的應用最為廣泛,Adobe Flash中也提供了許多內(nèi)置的補間函數(shù)。
8.4.1 補間概述
通過一個示例了解補間的工作原理是最簡單的,然后我們將深入探究其細節(jié)。可以在已有的代碼庫中使用這個狀態(tài),但是如果想要創(chuàng)建一個新項目,就要添加對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內(nèi)使一個精靈從無變到大小為256。這里的Tween構(gòu)造函數(shù)接受3個參數(shù)。第一個參數(shù)是初始值,第二個參數(shù)是目標值,最后一個參數(shù)是從初始值變化到目標值所需的時間。