Proxyクラスの新しい使い方を考えた
2008 年 8 月 13 日 水曜日as3ライブラリの中で、「なんで存在するの?」とか、「ウンコ」とか、「DisplayObject継承できないから戦力外」とか不遇の扱いを受けまくるProxyクラスの活気的な使い方を考えてみた。
as3ライブラリの中で、「なんで存在するの?」とか、「ウンコ」とか、「DisplayObject継承できないから戦力外」とか不遇の扱いを受けまくるProxyクラスの活気的な使い方を考えてみた。
最近よくわからんけど、flash/actionscriptに対する気持ちが物凄い勢いで折れてる。
それは多分ここ半年ぐらい、asをコーディングをすること自体が純粋な作業になってしまってるかもしれない。
なんか新しい発見がない。
be-interactive FlashPlayer10の登場でPapervision3Dオワタ\(^o^)/は間違い
うん、PV3Dオワタ!!とか思ってたけど、FlashPlayer10触ってみたら全然終わってなかった。逆にFIve3Dの立ち位置が大ピンチ。
一方PV3dはというとPixelBenderを利用して3次元の行列計算をFlash Playerの外側に出すことで、大幅なスピードアップが期待できそう。というかPixelBenderが10の限界突破の鍵だと思う直感的に。
まだ使い道を完全には思いついてないけど、音の生成から画像認識、単純な総当り処理まで、負荷の高い作業はデータをビットマップ化してPixelBenderに突っ込んじまえという思想が流行しそうだ。
あとボーンとかインバースキネマティクスの導入で、voo-doo-dollsは完全にオワタ\(^o^)/
Google Maps APIのAS3実装が公開されたので、サクっと触ってみた感想。
APIそのものはかなりよくできているのですが…
重い。死ぬほど重い。クラスがFlexフレームワーク上で動作させることを前提としているっぽいのか、やたらに重いです。特にズーム時の処理。ズームする前段階で古いマップチップはまとめてビットマップ化とかしてほしかった。で、ちょっと気になった点が。
「Flashのアルファブレンディングのイヤな仕様と回避策」の解決模索で副次的に生まれてきたアイデア。
FlashのBitmapData描画で、アルファ値の計算に色々問題があるのでメモ。
色1の上に色2をアルファありで描画した場合、新しい色は以下の式で求められる。
色 = int((色2-色1)*alpha + 色1)
Bitmap.DrawをはじめとするFlashの内部処理はどうやらこの式で求められている。だが、この式には大きな問題点がある。
こういう議論が、ニュー速で比較的まじめに議論されてのがちょっと新鮮。なぜにニュー速しかもわりと専門的。議論されてるような認識がコモディティ化してきたってことなんかな。
けど、この総合格闘技っぷりは、これからやる人にはどうにもなんないよなぁ。
(more…)
阿部さんとやったお仕事、HELLO, WORLD! Softbankをラウンチしました。 僕は実装担当。
一緒に大きなのやったのって、何気にneovision.jp以来でちょうど2年ぶり。
やたら人がいっぱい出てくるコンテンツで、いったい何人いるのか僕も正確には把握していないぐらいっす(一説には900人ぐらい?)。 フルスクリーンモードにして、見ていると楽しいです。極まれにシュールなフォーメーションや、キャラがでておもしろい。
ボーっと流しっぱなしでお楽しみください。
AS3のメモリリークはファックだぜぇ!!と嘆いている全国35人(含む自分)ぐらいのみなさまコンニチハ。
現行案件でメモリリーク地獄にまきこまれて、どうにかこうにか解決策を考えてたら、以下のようなことに気がついた。
弱参照のDictionaryのオブジェクトキーを利用して、対象のオブジェクトがガベッジコレクションされたかどうかを見張ることができるんじゃね??
つまりTimerでDictionaryを見張ってキーが消滅した瞬間が、そのままそのキーとして使われていたオブジェクトがガベッジコレクションされたタイミングなわけです。グローバルな弱参照Dictionaryを作ってその挙動を見張れば、onGarbageCollection イベントを発行できるし、DictionaryのキーをダンプすればGCされそこねたオブジェクトの一覧が取得できるんじゃないかと。
うん、なんだか結構画期的な概念を唱えてる気がする。
でも自分はすることいっぱいなので、検証と実装は他のASジャンキーにまかせるぜ!!