2007 年 2 月 のアーカイブ

AS3 で stageを参照する場合の注意点

2007 年 2 月 21 日 水曜日

今日ずっと苦戦してました

・stageの参照は、myDisplayObject.stage プロパティから
・addChildする前に参照するとnull
・removeChildした後に参照するとnull

removeChildした後に、そのdisplayObjectからresizeイベントとかremoveしようとするとエラー
リスナ系はウィークリファレンスを用いて対処するか、直接removeしないでkill()のような関数でイベントを殺すのとremoveをセットにする。

ルートのコンストラクタ生成タイミングでstageを参照しているswfを外部からロードするとnullでエラー
ドキュメントクラスで

if( this.stage!=null ){
init()
}

のように書き、外部でロードする場合は、Event.COMPLETEを確認後に外からinitを呼ぶようにすると、単独でもロードされた場合も動作する。

・っていうかaddChildしたDisplayObjectからしか参照できないのは不便
StageReferenceクラスのようなものを作って対処する

public class StageReference{
public static var stage:Stage

public static function get stageWidth():Number{
return (stage!=null)? stage.stageWidth : DEFAULT_STAGE_WIDTH
}

public static function get stageHeight():Number{
return (stage!=null)? stage.stageHeight : DEFAULT_STAGE_HEIGHT
}
}

で、ドキュメントのコンストラクタでこのクラスにStageの参照を渡してやれば、以後全てのクラスはaddChildしたか否かにかかわらずstageの参照をチェックできる。個々のDisplayObjectがリサイズ追随にstageを参照すると事故死する可能性が高いのでできるだけ、直接stageを参照しない。
getter経由で値をとって、stageが参照できない場合はディフォ値を返すようにすると安全。

AS3でのupdateAfterEvent

2007 年 2 月 20 日 火曜日

AS3でビデオのビットマップキャプチャーをするときに、どうも切り替えがチラツクことがあった。
updateAfterEventで強制更新しようとしたら、なんとupdateAfterEventがグローバル関数から無くなってました。

どうやらTimerEventイベントの中って変な場所に統合されたみたい。
使う場合は、更新タイミングでこんな風にかけばいいんすかね。


var e:TimerEvent = new TimerEvent(TimerEvent.TIMER);
e.updateAfterEvent()

とりあえず上手く動いたけど、正しいやり方か自信がない。

flashでバンプマッピングや環境マッピング

2007 年 2 月 18 日 日曜日

http://www.unitzeroone.com/papervision/paperPlanet/Main.html
http://www.unitzeroone.com/papervision/bumpmapRhino/Main.html

こういうのを見ると、あぁボクももうそろそろフェイドアウト組かなぁ・・・とか思ってしまいます。
メガデモ畑の人が本気で参入してくると、技術以外で勝負しないと生き残れないなぁ。

近況報告

2007 年 2 月 12 日 月曜日

なんかApploが来る前に、ウィジェットとかAjaxとか復習しとこうと
何を思ったかfirefoxのエクステンションを作ってみました。基本はほぼ完成。

それにしても、firefoxの拡張製作って驚くほど資料ないね。
ffソース読んで自力でハックしろって投げやり感がものすごい。

なんつーか、XPCOMとか死ねという感じ。なんでファイルをブックマークするだけで、2~3日も調べなきゃならないんだと。もう死ねと。もう二度と作るかと。

vistaとIE7に本気で乗り換えようかと本気で思いました。
拡張は細かいとこまでできたら公開予定。

EYE-PROJECT BY KDDI プレラウンチ

2007 年 2 月 1 日 木曜日

KDDIのネットワーク企画『EYE-PROJECT』のプレサイトをラウンチしました。

みんなでビデオを投稿していくと、本サイト開始時に送った動画で色々おこるらしいっす。携帯、直アップ、ウェブカムと色々対応してるので、みなさん色々オモロイ動画とか送ってくださいませ。

送ったビデオは↑みたいなブログパーツで、自分のサイトに貼り付けられたりします。
動体認識やら物理シミュやらでモニョモニョします。サイトの横に張っておくとカワイイです。

Produce: 鈴木 敦子(電通)
Account: 三橋 良平(電通)
Direction : 中村 勇吾(tha)
Design / Coding : ボク(tha)
System : 北村 慧太(tha)