カテゴリー
Develop 未分類

LoadBitmapData

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

これ、

super.throwError( this, err.message );

この部分

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

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

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

カテゴリー
Develop

Sandbox mode

Facebookアプリの開発中。アプリを一般ユーザに見せたくない場合。
Developersの”My Apps”から対象のアプリを選択して
Edit settings>advanced>Authenticaton>Sandbox Mode>Enable
これで

If enabled, only the developers of your app will be able to sign in to your app

ってな感じになる。
しかしあれだ、OpenSocial系はJSが実装されているものの、Flash実装時のプレビューでExternalInterfaceが作動しないので動作確認ができないのがちと辛い。mixiアプリの時も面倒だった記憶があるのだが、なにか回避策とかはないのだろうか?なんかあった記憶もあるのだけど・・・。
というか、RESTでサーバ側と通信するのが一番楽なのだけど、サーバ側構築するのにお金と時間がかかる。(同一IPでBANGされちゃうかもしれないしな・・・)

カテゴリー
Develop

illustrator 不明なエラーで保存できない

Adobe CS5のillustratorで作業中に、突然「不明なエラー」で保存できなくなった。
ファイル名を変えて別名保存でも、保存先を変更しても全然ダメ。
Illustrator DTP PC よろず掲示版とかみて初期設定ファイルをクリアしてみたりしたがダメ。
途方にくれつつ、ひたすら発生パターンを調べてみると、どうもフォントをアウトライン化するとNGになるようだ。んーこれは困ったと思いつつ、もう少し検証してみると、なんとそのアウトライン化したデータが配置されているレイヤーを非表示にすると保存できた。
なにこれ?
自分の環境だけの問題なのかもしれないけれど、どこかで誰かが困っているとあれなので、取り急ぎメモ。

カテゴリー
Develop

複数のGoogle Accountを使い分ける方法(模索)

なんだかんだ用途に合わせてGoogle Accountを切り分けていたら、いつのまにやらアカウント数が6個にも増えていた。
加えてGoogleアカウントの管理方法がちょくちょく変わって、複数Gmailの切り替え(Gmail Manager)とか、Gmarksの管理が挙動不審になったので、アカウントの管理を見直すことにした。

GmailのアカウントがGoogle公認で複数管理できるようになったのだけど、上限が3つということで、何か他の管理方法が無いか模索してみる。



Firefoxでの管理方法

  1. プロファイルマネージャーの起動
  2. 元々FirefoxはNetscapeのころからprofile管理の機能を持っていますが、メニューなどから起動することはできません。起動オプションに”-p”を付けるか、アプリケーション実行で”firefox.exe -ProfileManager”で使用できます。これで新規profileを作成して、各profileに1つずつGoogle Accountを割り振る。(bookmarkやらexztensionなどは継承されないので、プレーンなFirefoxからの設定になります)

  3. 起動時のプロファイルマネージャの常時起動
  4. アプリケーションのメニューのFirefoxの起動アイコンの「リンク先」に”-p”オプションを付与してやると、毎回起動時にprofile選択のダイアログが表示されるので、そこでFirefoxの起動時に毎回profileを選択して起動するように設定

  5. 各profileの設定
  6. あまり使用しないアカウントには最低限のexztensionをインストール。自分の場合は”google tool bar”と”Tab mix plus”の2つぐらい。

  7. profileの判別
  8. 自分がどのprofile使ってるのかよく分からねえよ!ってのはprofile毎にthemaを変えたりすることで対応。(6個もあると正直覚えられないですが、幸いFirefoxのテーマは腐るほどあるので・・・)

  9. 利点
    • Google Accountに連動しているexztensionの動作が安定
  10. 問題点
    • 異なるprofileのFirefoxを同時起動できないということで、都度終了させて起動ってのはちょっと面倒。異なるprofileで見ていたページをメインアカウントにブックマークしたい時とかFirefox再起動してprofile変更とか・・・。
    • 同期はやはりSyncベースなるのだけど、まぁ全アカウントでSync設定して問題ないのか?よく分からない。まぁSyncのアカウント管理とかも面倒なのでメインアカウント以外はやらないけれど
  11. 参考サイト

設定はしたものの、複数profileの同時起動ができないっつーのは使用条件が限定されていて使いにくかったので、Firefoxはメインアカウントで使用すると割りきり、Chromeでアカウント管理できないかトライしてみる。

カテゴリー
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はちょっと分からないけれども・・・

カテゴリー
Develop

Google Maps API を使って、地図のカラーバリエーションを楽しもう。

Google Japan Blog: Google Maps API を使って、地図のカラーバリエーションを楽しもう。
これが半年前にあったなら・・・・(遠い目
しかしこれはどういう仕組で実装されているのだろうか?
Flashでは無理だったりするかな?

カテゴリー
Develop

ustream producer

Ustream Producer: Download the free video streaming desktop application. Broadcast from PC, Mac. Transitions, multiple cameras, picture in picture, HD, H.264
インストールして起動したら、幅無限大のアプリケーションとなって表示される。
画面に映るのは黒い画面のみ・・・。
何故なんだ・・・・。困るなあ

カテゴリー
Develop

Photoshop:レイヤーを別のPSDの同じ座標にコピーする

たまに質問されるので書いておく。

コピーしたいレイヤーを選択し、Shiftキーを押しながら、コピー先のPSDにD&D。
※ただし、コピー元、コピー先のPSDのサイズが同じであること。同じじゃない場合は中心に配置。

昔のバージョンは、Shiftキーを押さなくても座標が維持されていたと思うけど・・。
CS2ぐらいから変わったんじゃないかと思う。しらんけど。

カテゴリー
Develop 未分類

Flash希望機能

再コンパイル無しでのプレビュー機能。
すげーほしい。
ほしくね?
オラめっさ欲しいわ

カテゴリー
Develop 未分類

メモ

いつも忘れるのでメモ。
setAdvancedAntialiasingTable (TextRenderer.setAdvancedAntialiasingTable メソッド)
CSMSettings – ActionScript 3.0 言語およびコンポーネントリファレンス
Adobe ActionScript 3.0 * 高度なテキストレンダリング

カテゴリー
Develop

SecurityDomain周り

SecurityDomainで諸々メモ。(まだ間違っている部分があるかもしれない)
条件
・セキュリティポリシーファイルを読込先サーバに配置できない
として、どーやってそのサーバに配置されているソースを読み込むか?ということでProxyのような働きをするswfを用意し、それを介して読込先サーバのリソースにアクセスしてみるようなかんじ。
・Security.allowDoaminの設定。
Security.allowDoamin(“*”)でも良いが、危険なので

な感じで動的に設定した方がよさげ。
・LoaderContextの設定
checkPolicyFile = false;
securityDomain =null;
これらを設定するとcrossdomain.xmlを参照し、その時点で停止。
ApplicationDoaminの設定は問題ないが、Security.allowDoamin前に確認されるからか、適応されないっぽい。まぁLoaderContext無しで動くようにする必要がある。
・子swf内クラスのイベント
取得するにはdispatchを受け付けるように、親にもSecurity.allowDoaminが必要(当たり前ですが)
・子swfでのクラス定義のタイミング
ポリシーファイルが定義されている場合は、子swfの変数として
var a:hoge = new Hoge()
見たいにして定着させるが、Security.allowDoaminで開放する場合には、解放後定義しないと参照できない。つまりコンストラクタで

とした後に
new Hoge();
等と空打ちして焼き付ける。
・子swfのクラスの取得
SecurityDomainが同じ場合は、ApplicationDoamin.currentDoamin.getDefinitionでクラスを取得できるが、前述の通りSecurityDomainが異なるためApplicationDoamin.currentDoaminに子swfが含まれていない。このため

みたいに取得する。ただし、これを親クラス側で変数に代入して流用は可能。

ただし型指定をするとエラーになる。
簡単なのは子クラスを格納するクラスを作って、その中にStaticで格納するのが楽。
・Loader系
子swfで定義されたLoader拡張クラスを、親swfでgetDefinitionして取得した後は、親でインスタンス化しても使用可能。ただしcontnt等セキュリティエラーに抵当するプロパティもある。例えばBitmapDataを取得したい場合は、子swfに含まれるLoader拡張クラスの中で、BitmapData化して引き渡すなどの処理が必要。

こんなかんじ?このBtimapは親で自由に使える。Sprite系なども基本newしてしまえば自由に使えるが、SecurityDomainを超えた要素はやはりセキュリティエラーになるので注意。(この辺ローカルでは確認できないので、サーバ上で確認するしかないのだけど・・、そこが非常に面倒)
ただリダイレクト系の分散負荷のシステムだと、結局このproxySWFとそこから呼ばれるソースのIPがまた変わってしまうという延々とループな感じの挙動にってしまう。イメージやらswfやらが対象であればバイナリ化してLoadしたほうが圧倒的に楽。ただFLVの場合が・・・・汗
ということでとりあえずメモ。

カテゴリー
Develop 未分類

Flash今昔

結局最終的には、行ごとにTraceを書いて、どこでバグが起きているのか?を書き出している。
Progressionなら、name指定すれば良いのは分かっているが、全部のコマンドにnameを指定するのは正直しんどい。なんか勝手にそのASの何行目のコマンドだよ!とか取得して埋め込めないものだろうか?とか書いてみる。
ゴメンナサイ、ゴメンナサイ。
地道にがんばります。

カテゴリー
Develop

AS3での埋め込みフォントの共有について:其の伍[RSLの先読み対応 with Progression](多分解決)

さて、現実的に使うためにどーするか?ということを考えてみます。特にProgressionで・・・。
問題点としては
1)共有フォントの読み込みがドキュメントクラスのコンストラクタ前に発動してしまう。
2)ProgressionでRSLを配置するとCastDocumentの”_onInit”がロストしてしまう。
この2点をなんとか解決したいと思います。
2)はloaderInfoの”Event.COMPLETE”がRSLが存在すると発動しないというのが起因しているかと思います。(何故なのか?は不明。そもそもRSLのローディングが管理できないのでどーしていいのやら)
ということで、コチラは無理やり”CastDocument”のコンストラクタに

として、_onInitに連結します。(override出来ないから)
これに関しては諸々調べていますが、問題が発生する可能性があるので、暫定的な処理とさせてください。実際にこの手法を用いる際にはリスクがあることをご理解の上、実装してください。(今のところ問題が発生するものとしないものの2つのパターンがあることは確認していますが、明確な切り分けは出来ていません。)

一応_onInitの重複発動(Preloader経由だと”Event.COMPLETE”が発動するので)防止のために、”onInit”の最初に以下の一文を入れておく。

カテゴリー
Develop

AS3での埋め込みフォントの共有について:其の壱(未解決)

以前apeirophobia: 特定の文字だけを埋め込んだフォントのランタイム共有方法(AS 2.0)というエントリーを書いたけど、今度はAS3版。既出のリソースとしては
FACEs: as3:フォントのダイナミックなローディング
CS3版 フォントのダイナミックなローディング|_level0.KAYAC
あたりが有名なところ。
で、このやり方で読み込む親SWFの中に同じフォントを用いた静止テキストを配置すると、フォントが表示されなくなるという問題がある。これはPlayer8以前に見られたフォントのconflictと同じような状態(詳細はapeirophobia: 特定の文字だけを埋め込んだフォントのランタイム共有方法(AS 2.0))。恐らくフォントクラスが親SWFで先に設定されてしまうことで、外部SWFのフォントクラスが適応されないというのが理由だと思う。(そう考えるとPlayer8の原因とは違うのかもしれないけど)
簡単に検証したい人はCS3版 フォントのダイナミックなローディング|_level0.KAYACのサンプルをDLして、loader.flaのステージ上にAXIS Std Hで静的テキストを配置すると再現できます。
AS3から外部SWFのクラスアクセスはApplicationDomainの設定も絡んできて、ちょっと原因の切り分けがややこしくなっているので、検証してみました。
なんか良く分からない部分もあるのですが、とりあえず忘れないようにダラダラ書いておきます。

カテゴリー
Develop

MovieClip.addFrameScript

Flashには幾つかundocumented functionが存在するのだけど、そのうちの一つ”addFrameScript”。
存在は知っていたのだけど、今まで上手く動作せず、どーしたもんかしら?と放置していた。ちと今回どうしても使いたくなってきたので改めてClassを見てみたらこんな感じだった。

// NON-DOCUMENTED (MANUAL ADDITION)
/**
* Attach a callback method to a frame. Note that this will replace any timeline code or
* previously attached callback.
* The callback method should not expect any parameter.
* @param frame Target frame number (starting from 0).
* @param notify Callback method to attach.
*/
public function addFrameScript(frame:uint, notify:Function):void;

やー (starting from 0).だった。これだけで長い間放置していた・・・汗
ちなみに複数フレームに一気に追加する場合には

削除する場合には

となります。
ちなみにflashguruでは

というような記述がありますが、これは動作確認取れませんでした。
ちなみにProgressionの”ExMovieClip”クラスではループ再生制御のためにコンストラクタで

されているので、ループさせる場合等には1フレーム程多目にフレームを定義しておかないとフレームアクションが上書きされてしまいます。
Ref.FlashGuru Consulting – Undocumented Actionscript 3

カテゴリー
Develop

Internet Explorer Developer Toolbar

090112.jpg
Download details: Internet Explorer Developer Toolbar
こんなのがIEにあるのを今まで知りませんでした。
まぁほとんどFirefoxの機能拡張でデバッグをしているのであまり使うこともないのだけど・・。
(FirefoxでいうところのWeb Developerと同じような感じ)
どちらかというとFirebugみたいなJSのデバッグができるものが欲しいのだけど、これもあるのかな??(IEのJSエラーは分かりにくくてしょうがない)

カテゴリー
Develop

ニャホアーーー

Inheritance — Flash CS3
この辺ではまり中・・・・。
EventDispatcherのStatic化も面倒だ。
なんか良い解決策は無いかしら?

カテゴリー
2008 Develop

illustratorとfireworksとflashDevelop

081125.jpgのアイコンを並べて配置すると押し間違えが多発する。アイコンのデティールは選択時の判別において、あまり重要で無いということを身をもって体感できる。これにpopFileやmixiのアイコンなんか並べたら更に分かりにく使いにくくできそうだ。

カテゴリー
Develop

まったく動かない(汗

iモードHTMLシミュレータII | サービス・機能 | NTTドコモ
ちと携帯コンテンツの仕事をしていてドコモのエミュレータを導入したのだけど、まったく繋がらない。なんのURLを入れても「接続できません」となる。
一応、iモードHTMLシミュレータIIに接続できず困ってます。 – 教えて!gooとかをみているのだけど、未だ解決に至らず・・・。
接続できない上に、このソフトの使い勝手の悪さにイライラするわ。
ちなみにソフトバンクは
WEB & NETWORK 技術資料・開発ツール(要会員登録)
AUは
KDDI au: ダウンロード > Openwave® SDK 6.2K