Tweenerを取り入れてみる
回転とかズームをぬるぬる動かすのに自力で実装していたのだけれど。
//毎フレームこの処理を行う仕組み //correctRot? -> 目標とする値 //correctRatio -> ぬるぬる具合係数 camera.rotationX = (1 - correctRatio) * camera.rotationX + correctRatio * correctRotX; camera.rotationY = (1 - correctRatio) * camera.rotationY + correctRatio * correctRotY; camera.rotationZ = (1 - correctRatio) * camera.rotationZ + correctRatio * correctRotZ;*/
こんな感じに組んでいたのだけれど。この方法だと見た目ではわからないけど目標値にほとんどならない。
そこが気持ち悪く感じてきたので、Tweenerを取り入れてみる。
//イベント発生時にTweenを追加するだけ //timeとtransitionでぬるぬる具合を調整 Tweener.addTween(camera, { rotationX:correctRotX, rotationY:correctRotY, rotationZ:correctRotZ, time:1, transition:"easeInOut" } );
挙動もうまい具合になったのでこれで行く。
あーでも、TweenerThread使った方がいいのかな。