今さらながら、flash.geom.Matrixによる変形のことで何か書いてみます。Matrixについてヘルプやマニュアルでは拡大やら回転やら移動やらの説明しかなくて何だかわかりにくく書いているように思える。学校で習ったアフィン変換としては素直な説明に読めるけど、変形したいだけの人からしたら何だかわかりにくい。この説明を読むとどうしても「回転」して「縦に伸ば」して「移動」、これらをconcatすればええのかなぁみたいな思考になってしまう。確かに行列として考えたほうが数学的には分かりはいいけど。あまり本とかサイトとかよく見ているほうではないので分かりませんが、Matrixについては大抵こんな説明なような気がする。(違ってたらごめんなさい)。というか「Matrixがいまいち」と言うとなりの人向けに書いているわけですが。
- archive -
ActionScript
« PRE POSTS | INDEX | NEXT POSTS »
なんとなく自前3Dエンジン捏造中です。僕としてはベクターがすきなので、FIVe3D的なものが好みなのですが、FIVe3DのZソートがDisplayObject単位みたいなので、なんとなく捏造することに。
けぶってる雰囲気をつくりたいのだけど、難しいなぁ…。つくってみたけど、眺めてたら気分わるくなってきた。何でかな。
色のブレンドにアルファチャンネルを追加してみました。アルファがある場合に、どのようにして色が求められるかいまいちよくわからなかったのですが、Processingの「blendColor()」で出力される値を眺めながら謎解き気分でやってみました。なわけで、少々怪しいところがあると思いますが。
使い処は限られているとは思いますが、色のブレンド関係のスクリプトを書いて見ました。Proccessingでいうところの「blendColor()」です。
普段使っているblendModeの仕組みメモも兼ねて。
なんとなくちまちま。JSFLを勉強していたりします。で、Flash上で描いた線や塗りを、lineStyle(…)、beginGradientFill(…)の形式で出力するJSFLをつくってみました。特にグラデーションのパラメータはスクリプトで書くのが面倒なのがつくってみた訳です。
今月のモデルグラフィックスはザブングルリローデットでとてもうれしい。速攻ゲットしました。4月に発売のウォーカーギャリアはとてもよさそう。僕も欲しい。
というのとは関係ないのですが何かつくってみようということで、衝突判定を変にしてムシとかサカナぽいのつくってみた。
Tweenerの_bezierプロパティは制御点だけを指定するので動きとしては滑らかな軌道を描きますが(イラストレータでいうところのスムーズ)、コーナー連結のように滑らかでない動きができない。曲線のパラメータに連結点を指定すればよいので、_bezierプロパティを実装しているCurveModifiers.asに手を入れてみた。
先日エントリーしたJSFLですが、どうも実装が緩いのでちろちろ手直し入れていて。改めてアップすることにしました。主なところは、曲線の情報を得るのに使っているEdgeというオブジェクトが、始点と終点の情報が他の曲線と比べて逆になる場合がある、ということの対応と、書き出す座標値の方向を順方向、反転方向選べるようにしたところ。
Tweenerにはベジェ曲線上をトゥイーンさせるプロパティ「_bezier」があるのだけど、曲線の座標を指定するのが面倒だったりなかったりします。できればガイドのように自分で描いた曲線をトゥイーンさせたい。で、ペンツールなどで描いた曲線からTweenerの_bezier用のスクリプト出力する簡単なJSFLをつくってみた。