カテゴリー
Develop 未分類

優先席の近くでは携帯電話の電源をお切りください

HTML5はFlashの3倍重かった! 描画パフォーマンスの比較 | ClockMaker Blog
Flashに比べて遅いというのは、本能的にわかっていたが、計測してもやっぱり遅かったとのこと。
バッテリー消費量やら、サイズの違いによる最適なスペックやら色々要因はあるんだが、HTML5へのシフトはすごい勢いで進んでいる気がする。ま、個人的にはそもそもブラウザじゃないだろという気もしているので、FlashでもHTML5でもどっちでも構わない気もする。
もう1ヶ月ぐらい停滞している。

カテゴリー
Develop Movie

test


facebookに投稿した映像の共有テスト。
イマイチストレージとしてfacebookを使おうという気にはあまりならないのだけれども・・。
将来的にはgoogleがfacebook,evernoteなんか全部統括した形になってくれれば便利だなと思いつつも、先日のGoogle mapsの有料化とか考えると、外国産のサービスではなく、日本でつくられたそういうサービスがあればいいなぁと思ったりもする。(時代錯誤な気もするが・・)
大きな不況になったときなど最終的に何を守るか?と考えると国レベルになってしまうんじゃないかと最近のEUの問題とか見てて感じたりする。

カテゴリー
Develop 未分類

Photoshopでflashlog.txtを使用する?

なんだかよく分からないですが、Photoshopを起動するとflashlog.txtにいきなり。

**********Running app: C:\Program Files\Adobe\Adobe Photoshop CS5 (64 Bit)\Plug-ins\Extensions\ScriptUIFlexServer-app.xml
ScriptUI is ready.
Host logging disabled Debug tracing disabled
Finished loading style definitions

なメッセージが現れて、以降Traceできなくなる。
なんぞこれなんぞこれ?
Photoshop立ち上げながらデバッグできないじゃないですか!
なんですかなんですか!

カテゴリー
Develop

disposeしたbitmapDataの確認

embedしたbitmapDataを再度使用したい時、dispose自体はnullにする動作では無いために、bitmapDataインスタンスは存在した状態になっている。つまり

ってなやり方では、しれっと何も表示されないので、以下のように例外処理を利用して判定する。

ちなみにdisposeの挙動としては

BitmapData.dispose() は、実際のビットマップデータが占めていたメモリ領域を即時に解放します(ビットマップは最大で 64MB のメモリ領域を使用します)。BitmapData.dispose() を使用した後は BitmapData オブジェクトを使用できなくなり、BitmapData オブジェクトに対して関数を呼び出すと、Flash ランタイムから例外が返されます。ただし、BitmapData.dispose() では BitmapData オブジェクト(約 128 バイト)のガベージコレクションは行われません。実際の BitmapData オブジェクトが占めていたメモリ領域は、ガベージコレクターによって BitmapData オブジェクトが回収された時点で解放されます。

な感じになっている。
ま、今更なんの話だ?っつー感じではあるのだけど・・・
もし汎用的に参照する必要があるのであればgetter化してしまえばいい。

カテゴリー
Develop

Molehillメモ

1)MovieClipにisPlayingプロパティが追加になっているので、ProgressionのExMovieClipのisPlayingに”override”追加。
2)JSONクラスがルートクラスで追加されたので、”com.adobe.serialization.json.JSON”を使ってる場合、フルパスに書き直すか、クラスを切り替える。
新しいJSONクラスのメソッドは以下の二つ
JSON.stringify(value:Object,replacer:*=null,space:*=null):String
JSON.parse(text:String,reviver:Function=null):Object
個人的にはメソッド名を同じにしてくれておいてくれればよかったんじゃないかと思うけど。
(com.adobeなんだし・・・)
とりあえず目についたのはこの2つ。
ちょっとExternalInterface周りで少し怪しい感じがするところがあるけれど、そこはおいおい。
3D関係は、もっと詳しい人達のブログを参照してください。
Ref.馬鹿全
Molehill | ClockMaker Blog
cellfusion blog » Molehill のローレベル API で遊ぼう
環境整備は馬鹿全 – FlashDevelop + FlashPlayer11(Molehill) + Away3D 4.0 Alpha での遊び方この辺を参考に。

カテゴリー
Develop 未分類

ProgressionでSWFAddressのExternalChangeが発動しない件

走り書き。
Progression4 + SWFaddressでindexにQueryって駄目だったっけ?
#?id=112
みたいなの。
この形だとexternalChangeeがWebSynchronizer内のSceneId.validatePathに引っかかってgotoまで遷移しない。(Queryの場合はSceneEvent.SCENE_QUERY_CHANGEも呼ばれない)
とりあえず間にひとつシーンをかませば問題なく動作する。
#/v/?id=2
みたいなかんじ。
SWFAddress単体では動作していたような気もするのだけど、記憶が定かではない。
Ref.Asual | SWFAddress – Deep linking for Flash and Ajax
Progression – Framework for Flash

カテゴリー
Develop 未分類

LoadBitmapData

久々Progressionネタを書いてみる。
LoadBitmapDataのcompleteの処理はL193から以下のように記述されている。

これ、

super.throwError( this, err.message );

この部分

super.throwError( this, new Error(err.message) );

にしないと動かないんじゃないかしら?と思った。

そんなこたーないかしら?
もうライブラリに手を入れないようにしようと思っているけれど、ちょっとここは直さないと動かないんじゃないかなぁ?

カテゴリー
未分類

TextAreaへのStyleSheet適応

fl.controls.TextAreaクラス。
納品物として使うことはまずないのだけど、デバッグとかでアウトプット表示に使うことは多々あります。で、そのアウトプットテキストの中にシーン遷移のリンクを入れたりしたい時に、StyleSheetを適応すると便利だろと。
で、以前はTextAreaに”stylesheet”というプロパテイがあった気がするのですが、今見てみると無い。(そのかわり”textField”というプロパティが追加されて、コンポーネント内部のtextFieldが直接参照できるようになっている。
で、textField.stylesheetとしてOKか?と言われるとそんなことは無く、

Error: Error #2009: このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
at flash.text::TextField/setTextFormat()
at fl.controls::TextArea/drawTextFormat()
at fl.controls::TextArea/draw()
at fl.core::UIComponent/callLaterDispatcher()

こんなエラーが戻って来ます。
基本的にtextFieldで管理するんだから、styleSheet等使うんじゃない!ゴルァ!と言う感じの対応ですが、かろうじて”drawTextFormat”が”protected”なので、extendsで対応することにします。

こんな感じでとりあえず使えるようになります。
ただそもそもAdobeが何故StyleSheetを使用不可にしたのか?
致命的に解決できないバグがあるのか?は不明です。
その辺ご了承ください。

カテゴリー
Develop

Google Analyticsの新しいやつとProgression

ちょくちょく変わるGoogle Analytics。
ga.jsになったのは去年の12月。久しぶりに見たらまたちょっと埋め込みコードが変わっているっぽい。(headの中に入れるようになっていた)
まぁ昔のやつでも動作するし、特に問題は無いのだけど、Getting Started with the Asynchronous Snippet – Google Analytics – Google Codeこの辺のやつにチラッとProgressionで対応できるように。
Progression純正のやつは”WebSynchronizer”になるのだけど、この中で定義されているのは
pageTracker._trackPageview
urchinTracker
の2タイプ。
新しいやつはswcコンポーネントから”GATracker”生成してやれということなのですが、”WebSynchronizer”の中に手を入れる必要があるので面倒だなと・・。
“GATracker”を使うメリットはそれなりにあるので、一応それのProgression連動クラスは作ってはいるけれど、使う必要が無い場合に純正のProgressionのまま対応する方法を考えてみた。

カテゴリー
Develop 未分類

flash developからprojector(.exe)形式の書き出し

flash developとか使っているとどーするのだ?という質問を時々されますけど、swfファイルをflash playerで表示して、メニューから「プロジェクタの作成」で可能なり。
AIRでもいいんだけど、AIR用に書き直ししないといけない部分とか多々あるので、簡単に済ませたいときはこんな感じで・・・。
Macはちょっと分からないけれども・・・