コメントプロジェクターやディスプレイなど、サブディスプレイをつないでFlashコンテンツをフルスクリーンにしつつ、本体のディスプレイで別の操作をしたいような場合に気をつけなければならないことをメモしておきます。<問題>サブディスプレイでブラウザでFlashのフルスクリーンモードモードにし、メインの方で別のウィンドウをアクティブにすると(つまりFlashのフォーカスが外れると)、フルスクリーンモードが解除されてしまいます。サブとメインを入れ替えても同じでした。これだと、別のディスプレイでコンテンツの入替えなどの操作ができないので、以外に不便ですし、この仕様は結構気づきにくいのではないかと思います。僕も、以前イベント当日の設営の段階までこのことに気づいておらず苦労した経験があります・・・。<解決方法>・Flash付属のスタンドアローンのFlashPlayerを使う・Chromeの「表示>プレゼンテーションモードを開始」でフルスクリーンにする要はプラグインのFlashPlayerには制限があるので、それ以外の方法でやりましょう。3.0\libs\11\textLayout.swcを追加すればOKです。※上記2行をコピペでいけます。CS5内のswcを読み込む感じなので、FlashDevelopのプロジェクトウィンドウにSWCのアイコンなどが表示されたりするので、表示されない他の方法があれば知りたいです。(分かる方がいれば是非教えてください)↓コンパイラー設定タブ情報ソースはこちら(英語)試してないけど、これも参考になりそうです。いうのがあったので、これを少し改変して使うことに。-FPSCounterAS3で使えるフレームレート計測用のFlashコンポーネントです。FPSCounter.zip※自作ではなくて、を少しいじっただけです。本家の「ASTachoMeter」は、動的に配置する場合にエラーが出てしまうようだったので、その部分を書き換えたのと、デザインを変更しました。勝手に利用してしまったので、圧縮ファイルにはソースも付けています。改変前本家サイト<使い方>DLファイルを解凍後、「FPSCounter.swc」を下記に保存してFlashを起動。メニューのウィンドウ>コンポーネントを選択すると、「標準のコンポーネント」下に「FPSCounter」が読み込まれているはずです。ステージ上に配置するだけで使えます。mioコメントを書く以下のような関数かませば動きます。拡大縮小のスケールBitmapData.copyPixels()とかの方が、BitmapData.draw()より速いらしいのですが、やり方がよく分からなかったので、とりあえずdrawにmatrixを投げる関数です。一応元のデータの方も使いまわすことを想定して、それの邪魔にならないように元に戻すようにしています。trueのままで良い場合は最後の1行を除けばOKです。ご自由にカスタマイズしてご利用いただければと。あと、もっとうまいやり方があったらぜひリンクなど教えてください。拡大縮小しても線の太さが変わらないようにする。mioコメントを書く描画オブジェクトまたはシェイプを選択している状態で、プロパティパネルで、伸縮:「なし」にする。線がやたら太くなったり細くなったりすることはなくなります。プログラムで処理するときは、linestyleを調整する。書き出したいFlashのパスを指定すればOKです。入れ替えればだいたいの場合はOKかと思います。teradaコメントを書くカスタムクラスでイベントの発行を行いたい、でもすでに他のクラスを継承しちゃってる場合、AS3は多重継承できないのでIEventDispatcherインターフェースを実装するんですよね。リファレンスをみるとこんなサンプルがあります。}}でも、これってよく見るとDecoratedDispatcherクラスが別のクラスを何も継承してないのです!例えば、DecoratedDispatcherのスーパークラスをSpriteとかにした場合、下の赤字の部分を修正する必要があります。}}リファレンスのサンプルがよくない気がします。オーバーライドのとこはエラーが出るからすぐわかるんですが、引数のthisをはずすところ、気付かずに結構はまってしまいました・・・。元のままではイベントが発行されないので、気を付けましょう。動いてくれませんでした。Vistaでも、ブラウザ上で動くFlashPlayerだと、ここがルーズに動いてくれるようでした。ダブリには注意しましょう。"hoge/foge/"と入れて、Vistaだけで動かない!と悩んだ話でした。mioコメントを書くだいぶ前に、ハマッたのでメモ。赤、緑、青、がそれぞれどういう値なのかを知る方法。teradaコメントを書く引き続き、FMS上のSharedObjectいじってます。気づいたのは、SharedObjectに配列を突っ込みたいとき、下記のような記述だとうまくいかないということ。);こういう場合は、下記のように記述するとすんなりいきました。);setDirty()の使いどころが少し分かりました。いえば、FMS上のどこにSharedObjectファイルが保存されるかという前エントリでの疑問。今日、FTP覗いていたらいきなり「/applications/アプリ名/sharedobjects/_definst_/hoge.fso」なるファイルが作成されてました。作成されるタイミングがいまいちよく分からないような・・・(依然、謎)。