libgdx的ui庫可以實現一些動畫效果,但是做游戲來說可能有些不足。Universal Tween Engine是一個純java實現的動畫庫。
地址:http://code.google.com/p/java-universal-tween-engine/
只要能夠用float表示的一切java對象它可以讓它動畫化,可以使用於Libgdx、Android、Swing等等。
Universal Tween Engine使用一般流程
使用Universal Tween Engine最重要的一個步驟就是實現TweenAccessor接口,這個接口定義了getValues和setValues方法。
然后Engine中注冊對應的接口。然后定義一些動畫效果並添加到管理器中。最后用update方法更新時間。
具體的可以參考一下Wiki:http://code.google.com/p/java-universal-tween-engine/wiki/GetStarted
在libgdx中實現簡單動畫
我比較喜歡使用Stage,所以下面的例子都是Stage中的。
首先實現TweenAccessor接口,我沒有區分對待,比如給Image寫一個,再給Button寫個啥的。我直接給Actor寫了一個,這樣都可以用。
getValues和setValues中我定義了3中操作:只修改X值;只修改Y值;修改X和Y值。
public static final int POSITION_X = 1; public static final int POSITION_Y = 2; public static final int POSITION_XY = 3;
這里注意一下getValues的返回值,你修改或者操作了幾個值就返回幾。
代碼如下: