Prototype.jsのEnumarableをAS2に移植中。 あ、あとObject.extendも ObjectUtil.mixin() みたいな感じで移植したんだが、これは使えるなぁ。
Prototype.jsのEnumarableをAS2に移植中。 あ、あとObject.extendも ObjectUtil.mixin() みたいな感じで移植したんだが、これは使えるなぁ。
[JavaScript]Deferredチェーン、非同期処理の逐次実行 http://d.hatena.ne.jp/brazil/20061229/1167352281
昨日作ったやつ、これを参考にしてもっとビューチフルになるんじゃまいかと。
MochiKit.Async.Deferredは、「現時点ではまた利用できない値」を扱うためのクラスです。
よく把握してないんだけど、このサンプルだと Deferred.addCallback に追加したメソッドの戻り値をどんどんつなぎ渡している雰囲気だよね。この発想はなかった。 d.callback(1); で、最初に渡す引数を与えて、どんどんチェーンしていくのね。おもしろい。
どういうシチュエーションで使うのが効果的なのかまだ思いつかないけれども、mochkitおもしろそう。
なんといっても追加するメソッドの引数をそのままreturnっていうのがシンプルでいいなぁ。
昨日作ったやつは、非同期とかいいつつも別に非同期じゃなくてもイケるようになっているので、Asyncとかいうクラスの名前もThreadというクラスの名前も気に入ってなくて、何か良い名前ないかなぁと。
で、休日やろうと手をいれてみようと思ったけど、会社にソース忘れた。ぐすん。
なので、Processingライクな、というかいわゆるParticles系のスクリプトを書きたいと思った時にいつでも書けるように、メインクラスとIParticleインターフェイスを作った。インターフェイスを実装したシンプルなParticleクラスを作って、その都度継承してけばいいなと。
JavaScriptもかわいいけど、AS3もかわいい。 Array.forEachとかうれしい。
AS3で、よくわかんないのは、DisplayObjectに対して直接beginFillとかで描画しても、マウスイベントの対象にならない。しかたなく子供のSpriteとかをaddChildするんだけど、どうにかならないものか・・。
http://www.seshop.com/event/dev/2007/
申し込みますた。
【14-B-5】JavaScriptの現在と未来 ~ 今JavaScriptに出来ること / 次世代JavaScriptの勢力図
【14-B-7】 出張Shibuyaイベント ~ Shibuya.pm presents “Shibuya.js x Shibuya.pl mashup night” ~
の2本。 会社から近いので便利だしね。 行く人がいたら行きましょう。
http://gigazine.net/index.php?/news/comments/20070111_canvas/ http://developer.mozilla.org/ja/docs/Canvas_tutorial
これはすごい。
またSVG?とか思ってみたけどHTMLじゃん? FireFox1.5移行であれば問題ないなら 結構使いどころはあるよなぁ。
さっそくFlashDevelop環境を試してみた。
Processingで単純なプログラムを作ってみたので、それを移植。
ランダムに色、位置、角度を変更しながら毎フレーム十字のオブジェクトをキャンバスに配置するだけのプログラム。
十字を描くプログラムなのでCrossDrawerという名前にしました。

プログラムのイメージ画像。
もの自体は簡単なので、今回はFlashDevelop環境でどう作るのか?という感じです。
FlashDevelopっていうIDEがすげー。
ここを見れば完璧 http://weekbuild.sakura.ne.jp/trac/wiki/as3/FlashDevelop
これまでFlashの開発ツールは ・Flashアプリ ・Flex2Builder ・SEPY ・Eclipse で、
AS2ならSEPY、AS3ならFlex2Builderを利用してたんだけど 両方ともFlashDevelopに移行したい意向です。 Read More…
ProcessingのサンプルコードをActionScript3で再現する実践の2回目です。
作成したサンプルファイル
今回のサンプルファイルはここからダウンロードできます。 objects.zip
今回取り上げるのは「Objects」というサンプルです。 http://processing.org/learning/examples/objects.html
たくさんの棒がマウス座標によって、移動するという単純なスクリプトになっています。 X座標の変更、Y座標の変更、描画を処理するメソッドが用意された、
という、棒の固まりを表すクラスを作成し、メインクラスから毎フレーム呼び出しています。 MRectに渡す値を微妙に変化させることで、それぞれのオブジェクトに表情がついてなかなかかっこいいです。
肝となるのは
と
です。引数に目標座標と目標地点までの減速率を与えることにより、 MRectインスタンスの位置を変更させているのですが、このサンプルでは4つのMRextインスタンスに対して、ただマウスの座標を渡すのでなく、少々味付けした値を別々に渡しています。それによって、不規則な動きが再現できています。
ProcessingとActionScriptの大きな違いに「
」というメソッドがあり、
メソッドが定義されていると、毎フレーム連続的に実行されるようです。実行されるたびに、カンバスの描画がクリアされるというのもActionScriptには無い機能です。
ProcessingからActionScriptに移植するにあたって、よりFlash的な最適化をすることも考えましたが(毎回再描画するのでなく、生成した描画オブジェクトを移動したりプロパティを変更したり)、普段とは違ったアルゴニズムを学ぶという目的もあるので、あえて最適化はしていません。前回同様、ルートに描画用のBitmapを配置し、それを毎回背景色でクリアし、描画しなおすという手法をとっています。 Read More…
マニュアルはやっとこ120Pくらいまで読んだ。 ショックな変更が多くて泣きそう・・・。 Read More…