2007 年 5 月 のアーカイブ

もしもWinnyのソースがSourceforgeに寄贈されてたら

2007 年 5 月 31 日 木曜日

ふと思ったこと、

もしWinnyや、デスクトップの音楽を携帯に転送するP2Pの分散ストレージサービスなんかが、sourceforge にオプソプロジェクトとかとして存在していたら、日本の法律で開発の差し止めをしたり、開発者を逮捕、サービスを停止させたりできるのかな?

そこら辺に今起きている色々な事柄に一石を投じる何かがある気がする。

AVM2にAVM1のSWFを強引にロードするやり方

2007 年 5 月 29 日 火曜日

Flash8でコンパイルしたSWFをAS3コンテンツからロードすると、ムービーはAVM1によって再生されてしまいAS3からアクセスできない件について。

以下の2つの条件下で、AS2のSWFを強引にAS3のSWFでロードしてMovieClipサブクラスとして使用、全プロパティ、子MCにアクセスする方法を発見。できるらしいって噂は聞いてたけどホントにでけた。

・無圧縮形式でパブリッシュしていること
・ムービー内にAS2で書かれたコードがないこと

まずAS2のSWFをURLLoaderでバイナリ形式でロードする。

・ByteArrayの[3]番目のインデックスを9に書き換える。
・ByteArrayのインデックス20~30あたりのどっかに、01, 00, 44, 11, 00 という順番にintが並んでいる場所があるので見つける。
01, 00, 44, 11, 08 に書き換える。

Loaderで書き換えたバイトコードを読み込む。
これでおk。

<追記>
be interactive情報で、最初の01は単なる総フレーム数とのこと
修正しました。

setPixelにブレンドモードをつける

2007 年 5 月 28 日 月曜日

ピクセル操作するときにsetPixelやsetPixel32に、ブレンドモードあったらいいなぁと思うことがよくある。
だけどコレ全部実装すんの正直メンドイ。

なんで、まず1ピクセルのビットマップにsetPixelして、それからdrawでブレンドモードつけて描く手法を考えた。

public function setPixel(x:int, y:int, color:uint, blendMode:String="normal"):void{
 if(blendMode=="normal"){
  _target.setPixel(x,y,color)
 }else{
  var tempBmd:BitmapData = new BitmapData(1,1,false,color)
  _target.draw(tempBmd,new Matrix(1,0,0,1,x,y),null,blendMode);
 }
}

かなり楽チン。けど遅いんだろうなぁ・・・
とりあず試してみて、遅かったらまじめにブレンディングの式を全実装しよう・・・

DotPattern

2007 年 5 月 26 日 土曜日

dotpattern.gif

ドットパターンのジェネレータークラスを描いた。

[[1,0,0],[0,1,0],[0,0,1]]

のように配列でピクセルを指定することで、任意のドットパターンでビットマップをフィルすることがきる。もちろん、基本的なパターンは定数として宣言してある。

var dp:DotPattern = new DotPattern( false, pattern, DotPatterns.LINE_H_1_1 );

(more…)

波形ジェネレーター

2007 年 5 月 26 日 土曜日

generators.jpg

sketchbookライブラリのgeneratorsには、Sine波から波形合成器まで9種類の波形ジェネレーターが用意されている。

(more…)

確率による処理、値の分岐 メモ

2007 年 5 月 25 日 金曜日

今日はちょっと体調悪いのでスケッチはなし。

一定の確率で処理が分岐したり、一定の確率で値が入れ替わるような処理があると、コードで絵を描くときにカオスやフラクタルを作り出しやすくなるんだけど、楽に記述できないかなぁ。

var col0 : ColorSB = new ColorSB(0xff0000);
var col1 : ColorSB = ColorSB.createRGB(255, 30, 67);
var col2 : ColorSB = ColorSB.createHSB();

var rnd : RandomPciker([col0, col1, col2], [2, 1, 0.5])
trace( uint(rnd) );

みたいに書くと、2:1:0.5の割合でランダムに色が出てくるとかどうだろう。
使いやすいかな。

変数を渡した場合、指定した確率で処理が選ばれて実行されて、結果がもどってくる。
どうだろう・・・

3:1でメインカラーと補色をランダムに配置とか、25%で方向転換とかそういう系で便利そうな気はする。

8のswfを強引に9として扱う

2007 年 5 月 24 日 木曜日

意外とやきもきしていたAVM1SWFの取り扱いに、デンジャラスなハックを発見。

Flash8でパブリッシュしたSWFをとりあえずByteArrayで読み込んで、一部を書き換えればAS3からアクセスできるようになるらしい。

リンク先サンプルの書き換えは、ステージサイズ依存になっているので、汎用コードじゃないけど、もうちょっとみんなが調べれば確実な方法が判明しそう。

danielhai.com : Convert *some* Flash 8 Movies to Flash9 Movies at runtime

作品をSVGでエクスポートする

2007 年 5 月 24 日 木曜日

sojapanese_svg.gif

シェイプをSVGファイルとして入出力するクラスを作った。

これによってFlashで動的に生成した形状を、ベクターデータとしてイラレに持ち込むことがでできる。もちろん逆にイラレで作ったデータをSWFで動的に加工することも可能。

WEBの中に限定されていたFlashのコンピューテーション・ビューティーが、印刷レベルのデザイン素材として再利用できる可能性というのはものすごくスリリングだ。 昔からの夢であったFlashでパターンジェネレーション→布に転写→プロダクト・ファッション分野への応用というアイデアが妄想ではなくなった感じ。

ちょうどロンドンで同期の奴等が卒業する年なので、なんかできたら面白いなぁと。手始めにTシャツ作ってもいいかもしれない。

metab その4

2007 年 5 月 23 日 水曜日

metab_study8.jpg

なんというカオス。
昔の実験で悟ったのだけど、ビットマップ描画系の実験は、なんかの拍子にハウリング的なロジックを作成すると、とたんに制御不能・予測不能の世界に突入する。

画像処理後に、コードで強制的にトーンや色補正を行って絵を強調してみた。flashの表現としては未踏分野っぽい雰囲気。あんまり惹かれないフィールドだけど、無限の平面が広がってそうな予感。

(more…)

「ぼくらの」が結構オモシロイ

2007 年 5 月 23 日 水曜日

ぼくらの」という漫画がかなり面白い。

基本ストーリー的にはエヴァを今風にしたもので、14人の中学生が超巨大ロボで迫りくる敵と戦う・・・という一見ショッパメの設定ながら、1巻後半でいきなり予想が裏切られる超展開に。

エヴァがいわゆる「世界系」、主人公が救われること=世界が救われることだったのに対し、「ぼくらの」の世界観は夢も希望もまったくない。 はじめから救いも幸せな結末もないことが約束された世界と、あまりにも安っぽい自分達の命、どうにもならない状況で唯一できることは結局どう人生と折り合いをつけるのかだけという、漂流教室もビックリな暗黒世界観。

一気に全冊そろえるも、物語も終盤間近の状態で最新刊待ちでヤキモキする羽目に。TVアニメ版も数話みたけど、こちらも微妙に設定が違っててヨイ。