[as]ちらっとProxyでAdapterみたいな
最近、よくProxy関連のエントリーを見るなぁとか思ったのは錯覚なのかわかりませんが、fladdictさんのエントリーがなるほど便利だなぁと思ったわけです。
で、Proxy使ってみようということで、イベントAdapter的なものを書いてみました。全然<Proxy>ぽくないけど。ありがちなので既出のような気もしますが。
最近、よくProxy関連のエントリーを見るなぁとか思ったのは錯覚なのかわかりませんが、fladdictさんのエントリーがなるほど便利だなぁと思ったわけです。
で、Proxy使ってみようということで、イベントAdapter的なものを書いてみました。全然<Proxy>ぽくないけど。ありがちなので既出のような気もしますが。
いまさらながらBox2Dを勉強してみる。物理計算(特に力学系)をやる場合、毎回必要な分だけ生書きしてたのですが、やはりライブラリ使ったほうが効率的かなぁ(特にプロトタイプとか)、という当たり前な理由でまずは触ってみようということで。
勉強するにあたって「Flash OOP本の10章」と、「Box2DでActionScript物理プログラミング」にお世話になります。わかりやすいなぁ。
使用したのは、いつのまにかバージョンが上がっていた、Box2DFlashAS3 2.0.1です。
frocessingでは、Matrixを拡張してFMatrix2Dというクラスをつくっているのですが、その過程でどうもオリジナルの matrix.scale() と Matrix.rotate() が遅いんじゃないかと思いまして、以下試してみたものです。
7/22に開催されたSpark project 勉強会 #01に行ってまいりました。拙いながら発表までさせていただいてありがたい限りです。
他の方の発表内容は非常に勉強になる上、プレゼンの仕方自体も勉強になって反省反省です。というか喋る前から反省モードでしたが。
とはいえ、自戒の意味もこめて使用した発表資料をアップしたいと思います。他の方と比べて明かにスライド数が少ないし、スライドだけ見ても意味不明なのはこれからの精進ということで。
http://nutsu.com/spark/spark01_slides.html
みなさんのあたたかさに救われた今日この頃です。感謝感謝です。
RADIOHEADのアレ( RA DIOHEA_D / HOU SE OF_C ARDS - Google Code )を僕もやってみた。データの説明とかあまり見てないので色のデータが??だけど、とりあえず僕のところにもトムヨーク増やしてみました。
相変わらずおフロをごにょごにょしております。
さて、Processing には texture というメソッドがあって、画像をuv指定で Triangle や Quad を描画できるのですが、その辺り、Astro の drawTriangles メソッドを使うと楽なので、Astroさん待ちかなぁ、と思っていたのですが、やっぱりできたほうがいいなぁと思って限定的ながら実装してみました。
その関係で、drawTriangles もどきなメソッドも実装してみました。
ぼちぼちとfrocessingをごにょごにょしているわけですが、となりの人が画像ぐらい描けないといまいちピンとこないなぁと。ということで簡単な画像描画のメソッドを追加してみた。
今さらながら、flash.geom.Matrixによる変形のことで何か書いてみます。Matrixについてヘルプやマニュアルでは拡大やら回転やら移動やらの説明しかなくて何だかわかりにくく書いているように思える。学校で習ったアフィン変換としては素直な説明に読めるけど、変形したいだけの人からしたら何だかわかりにくい。この説明を読むとどうしても「回転」して「縦に伸ば」して「移動」、これらをconcatすればええのかなぁみたいな思考になってしまう。確かに行列として考えたほうが数学的には分かりはいいけど。あまり本とかサイトとかよく見ているほうではないので分かりませんが、Matrixについては大抵こんな説明なような気がする。(違ってたらごめんなさい)。というか「Matrixがいまいち」と言うとなりの人向けに書いているわけですが。
Processingがたのしくて、勉強しているうちになんとなくProcessin的なASドロー系ライブラリをちまちま作っているわけですが、フライング気味にSparkPorjectにコミットしてみました。実装している機能は一部だし、テスト不十分でこれからデバッグなんですけど。なんとなく遊んでいただける方はこちら(SparkProject-Frocessing)からどうぞ。
なんとなく自前3Dエンジン捏造中です。僕としてはベクターがすきなので、FIVe3D的なものが好みなのですが、FIVe3DのZソートがDisplayObject単位みたいなので、なんとなく捏造することに。
色のブレンドにアルファチャンネルを追加してみました。アルファがある場合に、どのようにして色が求められるかいまいちよくわからなかったのですが、Processingの「blendColor()」で出力される値を眺めながら謎解き気分でやってみました。なわけで、少々怪しいところがあると思いますが。
使い処は限られているとは思いますが、色のブレンド関係のスクリプトを書いて見ました。Proccessingでいうところの「blendColor()」です。
普段使っているblendModeの仕組みメモも兼ねて。
何やら携帯灰皿を多く所有しているのは、禁煙気分が容易に先送りされている為だと気がついた今日この頃です。taspo(成人識別IC)を前に休煙活動に入ろうかと思うのですが如何かなぁ。しかし「成人識別」って言葉の喉越しの悪さったら。
タバコとはまるで関係ないですが、最近読んだ本とか書いてみます。
なんとなくちまちま。JSFLを勉強していたりします。で、Flash上で描いた線や塗りを、lineStyle(...)、beginGradientFill(...)の形式で出力するJSFLをつくってみました。特にグラデーションのパラメータはスクリプトで書くのが面倒なのがつくってみた訳です。
今月のモデルグラフィックスはザブングルリローデットでとてもうれしい。速攻ゲットしました。4月に発売のウォーカーギャリアはとてもよさそう。僕も欲しい。
というのとは関係ないのですが何かつくってみようということで、衝突判定を変にしてムシとかサカナぽいのつくってみた。
Tweenerの_bezierプロパティは制御点だけを指定するので動きとしては滑らかな軌道を描きますが(イラストレータでいうところのスムーズ)、コーナー連結のように滑らかでない動きができない。曲線のパラメータに連結点を指定すればよいので、_bezierプロパティを実装しているCurveModifiers.asに手を入れてみた。
先日エントリーしたJSFLですが、どうも実装が緩いのでちろちろ手直し入れていて。改めてアップすることにしました。主なところは、曲線の情報を得るのに使っているEdgeというオブジェクトが、始点と終点の情報が他の曲線と比べて逆になる場合がある、ということの対応と、書き出す座標値の方向を順方向、反転方向選べるようにしたところ。
Tweenerにはベジェ曲線上をトゥイーンさせるプロパティ「_bezier」があるのだけど、曲線の座標を指定するのが面倒だったりなかったりします。できればガイドのように自分で描いた曲線をトゥイーンさせたい。で、ペンツールなどで描いた曲線からTweenerの_bezier用のスクリプト出力する簡単なJSFLをつくってみた。
いつもお世話になっているTweenerのことをもう少し勉強してみようと思い立って、Modifierをつくってみることにした。Modifierは、Tweenerが対象Objectのプロパティを更新する際に何かしらの処理を割り込ませるようなもので、例えば「Tweener→displayObject.x」を「Tweener→Modifier→displayObject.x」という流れにするものらしい。試しに簡単な関数を間に挟む「FunctionModifiers」を書いてみる。