続Flash OOP
2008 年 6 月 30 日 月曜日でるらしいよ。 発売は7月3日ぐらいらしい。
でるらしいよ。 発売は7月3日ぐらいらしい。
Fshinさんも言ってるけど、僕もそう思う。
iPhoneが携帯なんじゃなくて、Appleの考える新しいプラットフォームを流通させる為に、単に一番普及しているメディア(携帯)の形を選んだだけなんじゃないかなと思う。
3年前のエントリだけど、アップルの本質は「あちら側」ではないのか?で書いたとおり、アップルが狙ってるのは携帯市場じゃなくて、MS, Google Adobe等が介入できない「あちら側」への直通ゲートウェイを築くことだと思う。
上記エントリで書いた、iPodに対する短期的な予測は外れているけれど、長期的な視点という意味ではこの頃からブレていないはず。それは正直インパクトが微妙なAppleTVをいまだコア戦略とおいていることからもわかる。AppleTVが真価を発揮するのはiPhoneが普及した後なんじゃないかと。
俺がジョブスなら、というアホな過程で考えると、自分のiPhone経由でユーザ認証すれば、誰の家のiTunesでもAppleTVでもiMacでもネットを通じて自分のアカウントと環境で使用できるシステムを目指すんだけどな。.meとかそういう布石なんじゃないの? 携帯というよりは、住基ネットカードに色々機能がついたもんなんじゃないかな。
お財布携帯がどうこういう人もいるけど、そんなのセキュリティ的な課題さえ解決すれば、BlueToothとかで決済できる仕組みアップルが作るったらどうすんだろう?しかも世界共通で使える奴。スイカとかパスモにそれに対抗する競争力ってあるんだろうか。作られたらお財布携帯とか全滅だべ。
Javaによるインタラクティブアートの定番である、processingをJavaScriptにポーティングした猛者があわられた。 via keitap情報
processingはご存知、コードで絵を描く人のたしなみっぽいツールだけど、それがJavaScriptのキャンバスで動く。なんかスゴイ。遅いけど。
・既存のprocessingのJavaコードを、js用に変換するポーティングライブラリ。
・js用のprocessing api
の両方つくったっぽい。すごいね。怒涛のサンプルを見よって感じ。
やっぱりJSはオーバーロードができない関係で、色々細かいさはあるけど、それでもスゴイな。JSにポーティングできるなら、AS3にもポーティングできるよなぁ。だれか(主にbeinteractiveとか)やらんかな。
ActionScript Orgに一覧乗ってるスレがあった
Liner, Cubic, Quadlic, Quintまで全部そろってますよ。これで一見落着。
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
Math.easeInQuad = function (t, b, c, d) {
return c*(t/=d)*t + b;
};
Math.easeOutQuad = function (t, b, c, d) {
return -c *(t/=d)*(t-2) + b;
};
Math.easeInOutQuad = function (t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
};
Math.easeInCubic = function (t, b, c, d) {
return c*(t/=d)*t*t + b;
};
Math.easeOutCubic = function (t, b, c, d) {
return c*((t=t/d-1)*t*t + 1) + b;
};
Math.easeInOutCubic = function (t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t*t + b;
return c/2*((t-=2)*t*t + 2) + b;
};
Math.easeInQuart = function (t, b, c, d) {
return c*(t/=d)*t*t*t + b;
};
Math.easeOutQuart = function (t, b, c, d) {
return -c * ((t=t/d-1)*t*t*t - 1) + b;
};
Math.easeInOutQuart = function (t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
return -c/2 * ((t-=2)*t*t*t - 2) + b;
};
Math.easeInQuint = function (t, b, c, d) {
return c*(t/=d)*t*t*t*t + b;
};
Math.easeOutQuint = function (t, b, c, d) {
return c*((t=t/d-1)*t*t*t*t + 1) + b;
};
Math.easeInOutQuint = function (t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
return c/2*((t-=2)*t*t*t*t + 2) + b;
};
引き続き、 Back, Bouce, Circular, Exponential, Quartic あたりの式も捜索中・・・ってここまできたらR.Pennerのソース見る方がはやかったなぁ。
で、こいつらをGrowとかBlurとかResizeとかのeffectクラスの、 easingFunctionプロパティとして定義してやればいいわけか。
複数のトゥイーンを同時に動かすときはParralel, 順番に動かすときにはSequenceというコンポジットパターンのコンテナに入れてやるわけですね。
で、アニメーションの開始、更新、終了時にそれぞれイベントを出す・・・ と
フル実装すると、mx.effectがflash9でも使えるようになったら無駄になるので、作るなら簡易版にとどめるのが吉と。
Jared TarbellのComplexification