2013-09-29 97 views
0

我爲我的一個動畫使用了AnimationController,但我需要經常改變此動畫的速度。我正在尋找任何資源友好的方式來做到這一點,完美將像AnimationController.setSpeed(float speed),但可悲的是,這不存在。 那麼,有沒有比每次撥打AinmationController.animate(...)更好的方法,當我只想改變速度和所有其他屬性應保持不變?libGDX:如何輕鬆更改動畫速度?

回答

2

要更改的整體速度,簡單地調整更新方法的相應增量:

animationController.update(speed * Gdx.graphics.getDeltaTime()); 

要改變一個動畫的速度(僅有用共混動畫時),則使用AnimationDesc實例#animate ()方法返回。

AnimationDesc ad = animationController.animate(...); 
ad.speed = 0.5f; 

您可以在動畫過程中更改AnimationDesc。

最後,您還可以訪問AnimationController當前AnimationDesc,雖然我不會建議:

animationController.current.speed = 0.5f; 

TL;博士:最好的方法是使用AnimationController#更新(增量)方法改變速度。

另請參閱:https://github.com/libgdx/libgdx/wiki/3D-animations-and-skinning

0

我想嘗試延伸AnimationController來編寫setSpeed方法。希望動畫速度將存儲在一個您可以更新的變量中。