Tweenerの練習がてら、有名な三角形トリックをアニメーションさせてみました。けど、こうやって動かすとバレバレになってしまうかなー。
配色や線の太さなどがなかなか決まらなくて、かなり無駄なリビルドを繰り返しました。これくらい簡単な絵でも、最初にきちんとスケッチしたほうがいいようです。僕の場合。
で、Tweener面白いですね(いまさらすぎる。何周遅れだろう?)。正直、ウェブでぼーっと眺めていた限りでは、こんな処理をライブラリ化する必要があるんだろうかと首を傾げてたんですが、簡単なシーケンスも組めるし、ベジェ曲線やスプライン曲線でも動かせるし、何より動きを試すコストがぐっと下がるのが大きいです。なるほど、Flasherの人たちはこれで心地よい動きをさくさく作ってたのか、と納得。
簡単そうなことが実は意外に重荷になっていて、さらに簡単にすることで大きな利益が得られるようなことがあるのかもしれないなと思いました。その系統だと、例えばこういうプチ関数が好きなんですが、どうでしょうね。
// [n, m)の乱数を取得
function random(n:Number, m:Number):Number {
return n + Math.random() * (m - n);
}
// 自乗を取得
function square(n:Number):Number {
return n * n;
}
// nを[s0, s1]から[d0, d1]に変換
function linearTransform(n:Number, s0:Number, s1:Number, d0:Number, d1:Number):Number {
return (d0 + (n - s0) * (d1 - d0) / (s1 - s0));
}
インライン最適化のないActionScriptだとちょっと使うのをためらいますが。