Entries of flash

AS3で、Numberにnullを代入すると0になる件

AS3でNumber型の変数にヌルポが渡ると0になる件について。


var ar:Array = [null, null, null]
var b:Number = ar[0]
trace(b)

-------------------------
returns 0

これは激しく予想外。
ループ管理の変数とかにヌルポが渡ると、isNaNで検出できない上に、カウンタが0に戻って無限ループ。 EOFっぽくnullを使うのは激しくデンジャラスです。

あまりに地雷だったので、未来の自分の為にメモ。

Apolloパブリックアルファは3月16日前後に発表らしい

という情報です。
多分16日のAdobe Apollo Campとかいうイベントで発表されるのではないかと。

Adobe LabにもこっそりApolloのページができてる。
今回のアルファはActionScriptのみなので、Ajaxの人はもうちょっとまってください的な感じのようです。

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

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

・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

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

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


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

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

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

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

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

EYE-PROJECT BY KDDI プレラウンチ

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

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

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

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

ブラウザから使えるFlash製IP電話

FVNCクライアントが出現したり、最近のFlashはなんでこんなにキチガイじみてるの??という疑問をFlashに詳しくない人はもち気味ですが、これはFlash9で処理速度が10~100倍速くなった上に、生のバイトコードを直接弄れるようになったせいです。最近はNESや、MSX、コモドールのエミュや、シンセサイザー作り出した方々出現中。

via Feasible Impossibilities

2ch flash板の衰退の雑感

Byozine: FLASH職人狩りで衰退する2ちゃんねるFLASH・動画板
しっぽのブログ: 【批判】秒刊Sundayさんが、

2chのflash板が物凄い衰退してることへの分析エントリ。

個人的にはyoutube、vip系まとめブログの台頭が最大の原因で、副次的にはJASRACの規制強化のせいだと思ってたんだけど。

ブログバトラー

+

某氏が作ったバトラーやってみた。

wiiでflashが動くようになったわけですが

サウンドノベルを筆頭とするテキストゲーム業界っておもいっきり地殻変動しまへんか?
wii対応したFlash製アドベンチャーゲームツクールを作れば、その人きっと勝ち組。