2015-05-23
9:17 PM
Accessor 是針對 Java 特性加入的一個 Interface
Tweener 需要依靠實作此 Interface 的 Class 來渲染動畫效果
程式碼範例
public class ButtonAccessor implements TweenAccessor<Button> {
// 自訂義 Tween 類型, 用以判別在實作的 Method 內需處理的對象
public static final int POSITION = 1;
public static final int ALPHA = 2;
@Override
public int getValues(Button target, int tweenType, float[] returnValues) {
switch (tweenType) {
case POSITION:
// 由物件內取回實際值
returnValues[0] = target.getX();
returnValues[1] = target.getY();
// 修改 2 個屬性, 因此回傳 2
return 2;
case ALPHA:
returnValues[0] = target.getAlpha();
// 修改 1 個屬性, 回傳 1
return 1;
default:
return -1;
}
}
@Override
public void setValues(Button target, int tweenType, float[] newValues) {
switch (tweenType) {
case POSITION:
// 設定新屬性
target.setX(newValues[0]);
target.setY(newValues[1]);
break;
case ALPHA:
// 設定新屬性(需對應 getValues 的設定)
target.setAlpha(newValues[0]);
break;
default:
break;
}
}
各項資料連結
Universal Tween Engine(Google Code)
Universal Tween Engine(GitHub)
No comments:
Post a Comment