正文

游戲數(shù)學(30)

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


 

8.4.3  使用補間

現(xiàn)在已經(jīng)完成了Tween類的創(chuàng)建,接下來就展示該類的一些強大的能力。和前面一樣,首先需要創(chuàng)建一個新狀態(tài),將其命名為TweenTestState。

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

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

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

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 ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號