- ベストアンサー
プロジェクタについて
ローカル環境用のプロジェクタについて お答え頂ければ幸いです。 FlashMXを使ってWindows用プロジェクタ(EXE)を作成しているのですが、 プロジェクタにした際にプロジェクタ自身のWindowの 左上に表示される最大化ボタンを無効化する方法は有るのでしょうか? もしくはプロジェクタが最大化された状態の時に loadMovieNum("Test.swf",0); のようにswfを読み込んだ場合にプロジェクタのWindowが最大化状態ではなくWindow状態になってします。 プロジェクタ状態は最大化の判定が行われているようです。 簡単にまとめますと ・プロジェクタの最大化ボタンを無効化可能か? ・プロジェクタの最大化状態の時にloadMovieNum("Test.swf",0);のような読み込みを行った時に プロジェクタが最大化した状態に保つ方法があるか? の2点になります。 長々と書きましたが、お答え頂けると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
少しわかりにくいのですが, > ・プロジェクタの最大化ボタンを無効化可能か? > ・プロジェクタの最大化状態の時に > loadMovieNum("Test.swf",0);のような > 読み込みを行った時に > プロジェクタが最大化した状態に保つ方法があるか? この2点は, 全く別の (つまり別ファイルの) ご質問ですよね。 そういう前提で回答します。 > ・プロジェクタの最大化ボタンを無効化可能か? Flash からパブリッシュされるプロジェクタなら無理でしょう。 中をこじあけて改造するなどすればできるかもしれませんが, パブリッシュされるそものもでしたら無理だと思います。 メインムービー(_root)のタイムラインのフレーム1などに, fscommand("fullscreen", "true"); と書くと, フルスクリーンになるので,その状態であるときは,最大化ボタンは出ませんが, そういう問題ではないのですよね。 普通に表示させたときに,最大化ボタンを無しにする,もしくはあっても無効にするというのは無理だと思います。 しかし, たまにこのカテゴリでも, プロジェクタに関するご質問を目にすることがあるのですが, プロジェクタにしても, ファイルが大きくなる,制約が大きくなるなどなどなど… というデメリットはたくさんあっても,メリットはあまりないと思うのですが…。 昔は,ネットにつながっていないPCというものが多く存在していたので, Flash Player をインストールしていないパソコンもかなり見かけましたが, 今は,たいてい入っているのでほとんど無意味に近い存在だと思います。 私は,プロジェクタにするよりは, SWF にパブリッシュして,それを HTA に貼り付けて,HTAで見てもらう方法の方を推奨します。 プロジェクタには発展性がほとんどありませんが, SWF を HTA に貼り付けると,そのHTA経由で JavaScript や VBScript を実行出来るようになるので,かなり面白い物が作れると思います。 「Flash Desktop Clock」 http://dawgsdk.cside.com/desktop/develop/clock/ HTA だと発展性もありますし, ウィンドウの拡大・縮小ボタンどころか,「×」ボタンも消すことができます。 「HTA:APPLICATIONタグ」 http://www.geocities.jp/kiaswebsite/hta/hta_application.html ただしWindows限定&Flash Playerが必要ですけどね。 こんな感じで, SWF + HTA の方がかなり,面白い物ができると思いますよ。 プロジェクタは制約が多すぎて,アプリケーションとしてはさっぱり意味をなしません。 > ・プロジェクタの最大化状態の時に > loadMovieNum("Test.swf",0);のような > 読み込みを行った時に > プロジェクタが最大化した状態に保つ方法があるか? loadMovieNum("Test.swf",1); にして,_level1 に読み込んだら良いのではないでしょうか。 それだと,元の_root(_level0)が見えて困る場合は, _root._visible = false; loadMovieNum("Test.swf", 1); こうすれば良いと思います。 (関係ありませんが,プロジェクタの場合,ファイルパスの前に / (スラッシュ)が要りませんか? loadMovieNum("/Test.swf", 0); 私の環境では必要だったもので,なくてもうまくロードされていたらそれで良いと思います。) > プロジェクタ状態は最大化の判定が行われているようです。 これは,そうではありませんよ。 loadMovieNum("Test.swf",0); のように _level0 に読み込むと, それまで _level0 にあったプロパティが全て新しいファイルによって乗っ取られるのです。 同じ階層に新しい物をロードすると,前にその階層にあったものは全てアンロードされます。 つまり,一度ファイルを終了させて,再び Test.swf を開いたことと同じになるので, Test.swf を単に開いた状態と等しくなるだけです。 プロジェクタに限った話ではありませんが, 普通,loadMovie する場合は,たいていムービークリップに loadMovie するか, _level0 以外にロードするものです。 最初のファイルが大きすぎて,アンロードしたい場合も, 最初のファイルの _level0 に新しいファイルをロードするのではなく, あらかじめ,ロード用のファイルを作っておいて, そのロード用のファイルのムービークリップや _level0 以外のレベルに, 次々違うファイルを読み込むようにすると, ファイルの操作などがかなり楽になります。 今時の大きな会社の凝ったFlashはだいたいそういう形でできていますよ。 index.html に 貼ってあるような SWF を保存しても, 最近はたいていもぬけの殻で,中身はありません。 次々にファイルを読み込む "しくみ" があるだけで, 表紙の SWF は数十KB程度というものが多いです。 関係ない話が大半でしたが, だいたい以上のような回答&アドバイスになります。
お礼
丁寧なご解答有難う御座います。 プロジェクタについては詳しくはちょっと いえませんが、ブラウザが使えない環境下での ソフト開発だったのでFlashのEXEを使ってどうだという 流れになった次第です。コスト的にも安価ですむと言う 利点も共ってですが。 アドバイス頂いた_level0以外のロードすることで こちらの意図した物の作成が出来ました事を感謝いたします。 個人的にはHTAのお話がとても興味深く、 これからのソフト開発に1つの選択肢を与えて頂けた と思います。 HTAは私にとって大きな情報になりました。 重ね重ねですがご解答と新しい提案など本当に有難う御座いました