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