独自、tweenの実装

viewでのアニメーションはプラグインを使いつつなんとか実装できたのですが、surfaceViewでのアニメーションの実装がうまく行かず、tweenの式を調べて移植してみました。
とりあえず、tweenしてくれました。ので、メモ書き。。。。

実行部分
[Mole.Obj.java]
float moleScale /*変化させたい数値
long passed_time /*経過時間
int mole_max_count /*変化を続ける時間
/*
* 第1引数:経過時間
* 第2引数:変化させたい数値の初期値
* 第3引数:変化させたい数値の最終値
* 第4引数:変化し続ける全体の時間
*/
moleScale = (float) TweenAnimation.easeOutCirc(passed_time,1,2,mole_max_count);

移植したメゾット
[TweenAnimation.java]
public class TweenAnimation {
float t;
float d;
float c;
float b;
    
/*とある1つのみ。Tweenerとかでも使っているtweenの式*/
static double easeOutCirc(float t,float b,float c,float d) {
t /= d;
t–;
return c * Math.sqrt(1 – t*t) + b;
};
}

passed_timeは[Mole.Obj.java]ないにmoleUpdate()を作って、常に変化させてます。
long old_time; /*最初の時間
public void moleUpdate() {
//時間の更新のみ
passed_time = System.currentTimeMillis() – old_time;
}

関連記事