AS3 アーカイブ
[ AS3 ] Progressionのおかげで苦労する ~ブラウザの進むと戻る~ by umroom
Progressionのおかげで苦労する第2弾。
flashを作る上で便利なことこの上ないフレームワーク、Progression。
便利なのは認めるけど、おかげで面倒になったこともある。
今回はブラウザの「進む、戻る」ボタンの話。manager.sync = true の場合のみ。
[ AS3 ] Tweensy勝手に止まりませんか? by umroom
生きてるよ。
今の仕事、課金コンテンツのためTweenMaxが使えず(TweenMax のライセンスまとめ 参照)、YOYOトゥイーンを使いたいがためにTweensyを選んでるんだけど、出来上がりが見えて来たところでflash内の時が止まる現象と遭遇。
Tweensyで動かしていたオブジェクトが全停止した。
[ AS3 ] よく使うイベント ベスト10 by umroom
自分のここ1ヶ月くらいのソースの中で使った各種イベントのベスト10。
自分でキーボード打って使ったという意味ね。ライブラリの中で使われたりしてるイベントに関してはノーカウント。
それではさっそく1位から。
[ AS3 ] Progression を導入しやすい作り方 by umroom
以前作ったサイトを Progression を使ってリメイクする時に、あらかじめこんな風に作っとくと導入が楽だと感じたことがあるので下に書く。
本当に些細なことだけども、これをやるだけでも本当に楽になった。やる事は各シーンに関数を4つ作るだけ。
[ AS3 ] AC_RunActiveContent.js と SWFWheel by cda244
こんにちわ。
初、間借りエントリーの内容はSWFWheel(旧HIGEWheel)の実用性低めな内容で行きたいと思います。
Flash(CS3以降?) がデフォルトでパブリッシュしたHTMLで SWFWheel をテストする時の参考になればと思います。
fla含む一式を用意しました(別途、SWFWhel.as が必要です)。
[ AS3 ] 非Progressionで初めのフレーム容量を軽くする by umroom
Progression だと、プリローダーを作ってくれるから、クラスの書き出しフレームについて深く考える事は無くていい。
クラスの書き出しが初めにあると(
Progression を使わない(使えない)とこういう所をどうするか考える必要が多かれ少なかれあるので、以下に自分が現在やってることをメモがてら、紹介がてら書いておく。
※ドキュメントクラスを使うことが前提。フレームに書くのはせいぜい stop() のみ。ローディングバーにもasファイルを作成する。
[ AS3 ] swf領域からのマウスアウト取得 by umroom
a href="http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8407&forum=20" target="_blank">FLASH-JP.COM - フォーラム 表示領域全体からのマウスアウトの検出方法スレより。
たまにこれをやりたい時があってその都度悩んでいた。なるほどなと思った。
ステージからマウスが離れる MOUSE_LEAVE を監視して、離れたら今度はステージ上でマウスが動く(ステージにマウスインする)事を監視する。インが確認できたらまた MOUSE_LEAVE を監視のループ。
[ AS3 ] 絶対パスの IO_ERROR でエラーが出る by umroom
URLLoader を使ってxml等の外部ファイルをロードする際、該当ファイルが無い場合 IO_ERROR が出る。
URLLoader.addEventListener(IOErrorEvent.IO_ERROR, HOGEHOGE) としておくと、IO_ERROR の時の処理を設定できるんだけども、ファイルパスが絶対指定(http://~)の時の挙動が気持ち悪い。
何が気持ち悪いかは以下に。
[ AS3 ] 外部swfの動作が異常に重い時 -getDefinitionByName- 後編 by umroom
前回に引き続き getDefinitionByName。
fla付きのサンプル作ったのでそれの解説を。
サンプルはアンロードまわりが正常に働いているか、ゴミが残ってないかをちゃんとチェックしてないので、ちゃんと作るときはもっとチェックして下さいませ。
Loader.unload すると子swfのライブラリ情報はどこへ行くのでしょう?それともどこにも行かない?。消えるとしたら getDefinitionByName で作られたインスタンスは影響を受けるのか、受けないのか?
イマイチ整理しきれてないけど、とりあえず解説を以下に。
[ AS3 ] 外部swfの動作が異常に重い時 -getDefinitionByName- 前編 by umroom
フルフラッシュのサイトを作ってて、コンテンツ毎にswfを分割して作ることはよくあると思うんだけど(コンテンツ内のデバッグしやすいし、分担もできるしね)、コンテンツのswfを Loader で読み込むと動作が重くならん?俺だけか?マシンスペックの問題か?
メインのswf(親)にコンテンツのswf(子)をロードするだけならまだいいんだけど、子swfが孫swfをロードするとなると孫が重いのなんのって。
こういう構造のフラッシュは Progression 使うこともそれなりにあるだろうけど、プリローダー使うとその時点で親子状態のできあがり。プリローダーは便利だけど孫をロードすると既に重い。ひ孫のロードなんて考えたくもない。
今やり始めた案件がこんな状態なので、考えなきゃいけないハメになって半日アレコレ悩んだ。
救いの神は flash.utils.getDefinitionByName 。これのおかげで全て解決。書き換えとデバッグは大変だけど、ゴールが見えたってのは大きな前進だ。
どうやったかは以下に。まだ完成してないので出し惜しみしつつ、、
[ AS3 ] parseInt実験 by umroom
BK通信 ―Bad Knowhow Tsushin―:#02 数字のバッドノウハウ|gihyo.jp … 技術評論社より。
8進数は未だ扱ってないのでAS3でも試してみたところ、
parseInt("08") は 8 と出ました。
[ AS3 ] mouseChildrenでガード by umroom
AS2では、画面を覆う透明なムービークリップにロールオーバーとuseHandCursor=falseを設定してマウスを効かなくするようにしていた。
この場合、全画面Flashなどの可変サイズコンテンツで、覆うMCのサイズ、位置合わせや、部分的に穴をあけておきたい場合に面倒だったりして悩んだ。
[ AS3 ] AS3での this == root 判定 by umroom
コンテンツごとにswfを分けて作る時、外部swfの最初に書いたりする条件文。
自分自身が root かどうかを判定するとき、AS2だとまさにそのままのif(this == _root)でよかった。
AS3では、rootの参照がAS2の_rootの様に唯一のものじゃ無くなってるのでちょっと面倒。
[ AS3 ] Flash CS3でpopforgeしたい人 by umroom
popforgeライブラリを使うと音の波形を表示したり、flashでサウンドデータを作ったりできて楽しいよね。
でもFlexベースで書かれてるから、CS3ユーザーは Embed あたりでエラーが出るんだよね。
Warning:1110:定数は初期化されませんでした。って。
[ AS3 ] AS2 を AS3 に書き換える作業でややハマる by umroom
ハマるって言っても時間食ってしょうがないレベルの話。
ある案件でAS2で書かれたコンテンツをAS3に書き換える必要があった。それはクラスも使ってないし、ほぼ全てのスクリプトが1フレームに書いてあって、それも大した量じゃなかったので、とりあえずアンダーバーを削除するとかプロパティ名の修正をした。
あとは実行して見つかったバグを潰して行こうと思って
パブリッシュしたら
[ AS3 ] removeEventListenerと無名関数 by umroom
addEventListenerで無名関数を使う場合、「removeEventListenerの時に名前が関数名がわからんよ。」ってなるのを何とかする方法。
arguments.calleeで実行中の関数を取得できるので、これを使えばよろし。
「arguments」の「s」が抜けたり「callee」の綴りがあやしかったりするのでメモがてら残しておく。
[ AS3 ] 外部ドメイン画像の容量を知る by umroom
phpを介してcrossdomain.xml 無しで外部ドメインの画像を読み込むとファイル容量が分からないのでロードの進捗が見れない状態だったんで、ファイル容量を取って来れる様にしてみた。
phpでクロスドメインする時は、最初にファイル容量を取得してからLoader.loadするってやり方でいいのか?
[ AS3 ] crossdomain.xml無しで画像をBitmap化 by umroom
とりあえず外部ドメインのFLVをキャプチャする事は置いておく。まずは画像ファイルあたりからやろう。
Loaderクラスだと画像の他にswfも読めるけど、allowDomainとかやる必要がありそうだから保留。
[ AS3 ] クロスドメイン周りでハマってる by umroom
目的:YouTubeから萌える動画を大量に引っ張って来て一面に並べてイロイロしながら悶絶する。
要するに:外部ドメインのFLVをクロスドメイン無しで弄り倒したい。
で、現状。
セキュリティサンドボックスに阻まれておあずけ(ローカルなら動くから一人で悶絶する分には別にいいんだけどな)。
[ AS3 ] 音の波形をいじってみる by umroom
800KBくらいあるからちょっと待って。始まると音出るよ。
SoundMixer.computeSpectrumで波形が取れるのでAS3で遊んでみた。
ついでにフーリエ変換をちょっと復習した。学生の頃よりは理解した、と思う。どうでもいい話だ。
左のスライダーを下げるとモロに処理落ちするので注意ね。
[ AS3 ] 【ちょいグロ注意】ブログパーツ習作 by umroom
光のラインがいい感じにカッコイイブログパーツを作る前の準備体操。
クリックで始まり始まり。といっても気持ち悪いだけですが。
0.1秒ごとにワームが1匹、合計100匹這い出る仕様となってます。
[ AS3 ] マイノリティ・リポート風味flash by umroom
マイノリティ・リポートのグローブ型インターフェースもどき。
flashでやるととりあえずこんな感じかと試作した。マウスポインタが2個使えると楽しいんだけどな。
[ AS3 ] ファンネル(ビット)作ったよ by umroom
ファンネル(ビット)作った。
発射はドラグーンっぽい感じで3段階発射。
2次元の嘘くさい動きだけど勘弁ね。
青いボタンで数字の数分ビットが出る。
制限かけてないので、でかい数入れると固まるので注意。
[ AS3 ] KEY_DOWNとKEY_UP by umroom
KEY_UP時にアクションを設定したが、いざブラウザに乗っけると動作しない。プレイヤーだと問題ないが、htmlに埋めると動かない。時間無いときに限ってこういう問題が起きるのがflashたんのイイところ。何でもできそうに見えて以外と、、まぁいいや。
[ AS3 ] Flash CS3 で AIR by umroom
Flash CS3でAIR開発ができるAdobe AIR update beta 3 for Flash CS3 Professionalが出て久しいが、これでちょいとハマってしまったのでメモ。
とりあえず小ネタにもエントリー追加。
[ AS3 ] トゥイーン日和 by umroom
//as2 Fuse
ZigoEngine.doTween( {target:this, _x:100, _y:50, time:1, ease:"easeInCubic"} );
//AS3 Tweener
Tweener.addTween(this, {x:100, y:50, time:1, transition:"easeInCubic"} );
//AS3 TweenLite
TweenLite.to( this, 1, {x:100, y:50, ease:Cubic.easeIn} );
[ AS3 ] flush忘れずに by umroom
Socket絡みのプログラム書いてます。つまらんです。インターフェース絡みの仕事がしたいです。通信とか嫌いな分野のど真ん中。
[ AS3 ] TextFieldイベント実験 by umroom
AS3 のTextFieldでちょっとした実験。
イベント Event.CHANGE, TextEvent.TEXT_INPUT を使ってみる。