正文

游戲數(shù)學(xué)(30)

精通C#游戲編程 作者:(英)斯庫(kù)勒


 

8.4.3  使用補(bǔ)間

現(xiàn)在已經(jīng)完成了Tween類(lèi)的創(chuàng)建,接下來(lái)就展示該類(lèi)的一些強(qiáng)大的能力。和前面一樣,首先需要?jiǎng)?chuàng)建一個(gè)新?tīng)顟B(tài),將其命名為T(mén)weenTestState。

這個(gè)狀態(tài)需要將本書(shū)前面使用的笑臉紋理添加到項(xiàng)目中,并將其Copy To Output Directory屬性設(shè)為Copy if newer。在窗體構(gòu)造函數(shù)中,應(yīng)該將笑臉紋理加載到TextureManager中。

_textureManager.LoadTexture("face", "face_alpha.tif");

在加載了紋理后,可以使用它在TweenTestState類(lèi)中創(chuàng)建一個(gè)精靈。

class TweenTestState : IGameObject

{

Sprite _faceSprite = new Sprite();

Renderer _renderer = new Renderer();

Tween _tween = new Tween(0, 256, 5);

public TweenTestState(TextureManager textureManager)

{

_faceSprite.Texture = textureManager.Get("face");

}

#region IGameObject Members

public void Process(double elapsedTime)

{

if (_tween.IsFinished() != true)

{

_tween.Process(elapsedTime);

_faceSprite.SetWidth((float)_tween.Value());

_faceSprite.SetHeight((float)_tween.Value());

}

}

public void Render()

{

Gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);

_renderer.DrawSprite(_faceSprite);

_renderer.Render();

}

#endregion

}


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)