読者です 読者をやめる 読者になる 読者になる

Tweenerを取り入れてみる

ActionScript3.0 Away3D ColladaView

回転とかズームをぬるぬる動かすのに自力で実装していたのだけれど。

//毎フレームこの処理を行う仕組み
//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使った方がいいのかな。