• ベストアンサー

Flash CS4についてexeファイル間のやりとりはできるのでしょうか?

Flash CS4(ActionScript3.0)を使用し、パブリッシュをおこないexeファイルを作成しました。 イメージとしては ・トップメニュー画面を作成(exe) トップメニュー画面に別のFlash CS4で作成したexeを実行するボタンを配置する。 別のexeを実行した場合、トップメニュー画面は閉じる。 ・サブ画面を作成(exe) サブ画面にトップメニューに戻るボタンを配置し、押下することで トップメニュー画面が表示される。 サブ画面は閉じる。 このような制御は可能でしょうか? もし可能なようでしたら、方法をご教授願います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

Flash CS4 で作成した EXE のみを使う場合を想定して, まともに回答すると次のような結論になると思います。  トップメニュー画面のボタン押下    →サブ画面exeを実行 ○可     →トップメニュー画面を閉じる ○可  サブ画面のボタン押下    →トップメニュー画面exeを実行 ×不可     →サブ画面を閉じる ○可 ×不可 になる部分があるのは, Flash MX(Flash 6 (CS4 は Flash 10 です))からの セキュリティ上の仕様変更のためです。 ActionScript 3.0 言語およびコンポーネントリファレンス 「fscommand () 関数」 > exec コマンドは、fscommand サブディレクトリでのみ実行されます。 > つまり、exec コマンドを使ってアプリケーションを呼び出す場合、 > アプリケーションは fscommand という名前の > サブディレクトリ内に存在する必要があります。 > exec コマンドは、Flashプロジェクタファイル内だけから実行できます。 つまりもし,  →トップメニュー画面exeを実行 ×不可 を ○可 にしたい場合は次のようにしなければならないということになります。  任意のフォルダ   ├トップメニュー画面.exe   └fscommand(フォルダ)     ├サブ画面.exe     └fscommand(フォルダ)       ├トップメニュー画面.exe       └fscommand(フォルダ) 一応,こうすれば ○可 にはなりますが, 「サブ画面.exe」 後に出る 「トップメニュー画面.exe」 は, 最初の 「トップメニュー画面.exe」 とは別物になってしまいます。 さらにまた, その 「トップメニュー画面.exe」 から 「サブ画面.exe」 を呼びだそうと思えば,  任意のフォルダ   ├トップメニュー画面.exe   └fscommand(フォルダ)     ├サブ画面.exe     └fscommand(フォルダ)       ├トップメニュー画面.exe       └fscommand(フォルダ)         ├サブ画面.exe         └fscommand(フォルダ) このようにせざるを得なくなります。 できたとしても,これは実質上 ×不可 ですね。 延々と fscommand フォルダを掘りつづけなければなりません。 --- --- --- Flash CS4 ではなく, HSP とか VB とか何か適当なもので,「EXE を起動させる EXE」 を作ればできないこともありません。  任意のフォルダ   ├トップメニュー画面.exe ←Flashで作る   ├サブ画面.exe ←Flashで作る   └fscommand(フォルダ)      ├トップメニュー画面を開く.exe ←他ソフトで作る      └サブ画面.を開く.exe ←他ソフトで作る Flash製 「トップメニュー画面.exe」 のボタン押下で 「fscommand」フォルダ内にある 「サブ画面.を開く.exe」 を起動させて, その 「サブ画面.を開く.exe」 からFlash製 「サブ画面.exe」 を開く。 Flash製 「サブ画面.exe」 からは 「fscommand」フォルダ内にある 「トップメニュー画面を開く.exe」 を起動させて, その 「トップメニュー画面を開く.exe」 からFlash製 「トップメニュー画面.exe」 を開く。 ということです。 --- --- --- もしくは ActionScript3.0 をやめて, ActionScript1.0 で FlashPlayer5 でも動くスクリプトに限定してFLAファイル作成し, いったん Flash Player 5 用 SWF をパブリッシュしておいてから, 「スタンドアローン版 Flash Player 5」 でその SWF を開いて, 開いた状態から「ファイル」→「プロジェクタの作成」でEXE を作るという方法でも良いかもしれません。 その方法で作ったのが下の 【図↓】 です。 ......と書いてはみましたが, 「スタンドアローン Flash Player 5」 は現在配布されていませんね。 ココ↓を見ても 「スタンドアローン Flash Player 8」 までです。 「Adobe Flash Player Support Center」 http://www.adobe.com/support/flashplayer/downloads.html ※私はFlash との付き合いが長いので   「スタンドアローン Flash Player 5」を持っているだけです。 現行の「スタンドアローン Flash Player 10」 もセキュリティが高くありませんが, 「スタンドアローン Flash Player 5」などもっともっとセキュリティが低いので, 恐くて責任がもてないため,もう配布はしないのでしょう。 昔のFlash 4 や 5 製の EXE は, 基本的にどんな EXE でも起動できていました。 つまりバンバン色々なソフトを起動させることも可能でした。 (つまり別フォルダにあるウィルスや木馬なども起動できていたわけです。) (さらに Flash Player 5 では,公表されていない裏技ActionScriptを使うと「ファイルの保存」などもできていました。アニメを見ただけでPC内に何かを保存される可能性もある。恐い恐い...。昔はね。) Flash はそういう道を自ら閉ざしました。 バージョンが上がるほど,できることは確実に増えていますが, 上記のようにできなくなったこともあります。 --- --- --- そんなこんなで, Flash製EXE(Flashプロジェクタ)はアプリケーションを作るのに非常に不向きです。 Flashは,ネットで生き残るために,あえてそういうローカルな道を捨てたソフトです。 だから今は誰もご質問のようなことをしようとしません。 ローカル用Flash製アプリケーションを作るなら,今だと AIR ではないでしょうか。 AIR をお薦めします。 Flash CS4 にも AIR 開発ツールなどが勝手に付いてきますよね。 是非,こっち方面を調べてみてください。 http://www.google.co.jp/search?hl=ja&q=Flash+AIR 私は AIR についてはほとんど何も知りませんが, ご質問の路線はそっち方面だということはわかります。 --- --- --- もしくは全く方向を変えて, 表紙の 親Flash だけを EXE で作成しておいて, そこに メニュー や サブ などの 子SWF をロードするとか。  

flashman77
質問者

お礼

ここまで親切丁寧にご回答を頂きありがとうございました。 とてもわかりやすいし、私が望んでいたご回答そのものでした。 とても助かりました。ありがとうございます。

関連するQ&A

  • Flash CS4で作成したアプリケーションの連動について

    Flash CS4でアプリケーションを作成しています。 作成をおこないたいアプリケーションの遷移図は 1.メイン画面を表示する。(メイン画面にボタンを4つ配置し別の画面(Flashで作成したアプリ)が表示する。) 2.メイン画面から呼び出されたサブ画面を表示する。(この場合メイン画面を閉じる) 3.サブ画面で処理を終えて戻るボタン押下でメイン画面を表示する。 ※この場合、メイン画面、サブ画面(4つ)はそれぞれ別のFlash CS4で作成したアプリケーション(全部で5つ) 上記のようなアプリケーションを作成したいのですが、アプリケーション間の連動はどのように作成すればいいでしょうか?? Flash CS4で作成したアプリケーションだけでは無理のようでしたら別の方法も教えていただきたいのですが。 よろしくお願いします。

  • Flash cs3のActionScript3.0でリンクを設定する方法

    Flash cs3のActionScript3.0でリンクを設定する方法を教えて下さい。 Yahooのトップページにあるバナー広告のように画面のどこをクリックしてもリンク先に飛べるようにしたいです。 またビヘイビア(ActionScript2.0)でリンクを設定し作成したボタンをクリックすると 『実行されようとする操作の安全性が確認されていない為、Adobe Flash Playerは停止しました。』 と表示されます。 どうしたら表示されずリンク先にとべるでしょうか? アドバイスよろしくお願いします。

  • Flashをexeで出力した時のメニューを消したい

    Flashをexeの形式でパブリッシュした時に、パブリッシュされたexeファイルを実行すると、「ファイル(F)、表示(V)、制御(C)、ヘルプ(H)」というメニューが上に表示されてしまいますが、これを表示しない方法はないでしょうか? あと、画面を右クリックしたときのメニューも消したいのですが、どうしたらよいのでしょうか? 実際、フラッシュで作成した???と思われるプログラムで、メニューや右クリック時のメニューがないものを見たことがありますので、どうやっているのか不思議です。 それとも、アドビのフラッシュではなく、何か別のソフトを使っているのでしょうか? その場合は、ぜひ、そのソフト名を教えてください。無料だとなお助かります!!!

    • ベストアンサー
    • Flash
  • Flash で、サウンドを停止させたいです。

    Flash で、サウンドを停止させたいです。 Flash でアドベンチャーゲームを作っています。 SharedObjectを使って、セーブ&ロード機能をつけました。 (環境) Flash バージョン - Adobe Flash CS4 ActionScript - ActionScript 1.0 & 2.0 画像にあるように、880フレーム目からBGMを再生されるようになっています。 900フレームで停止し、メニュー画面になります。 ここにロードボタンがあり、押すと以前セーブしたフレームにジャンプします。 その際に、880フレーム目に配置したBGMが流れっぱなしになってしまいます。 ボタンを押したと同時に、このBGMを停止するにはどうしたらよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASH5でexeファイルを

    FLASHに興味を持ち勉強中です。 作成したアニメをパブリッシュして、exeファイルを生成します。 exeファイルを実行した時、フレームの無いフルスクリーンで立ち上がる方法は無い でしょうか。 起動後に、メニューの「フルスクリーン」を指示するとか「ctrl+F」キーでフルス クリーン画面になることは解るのですが、起動=フルスクリーンとしたいのです。 生成した exeファイルをCDに焼き付けて知人に配布した時、フルスクリーンで起 動するようにしたいのです。 因みにOSはWindowsです。よろしくご指導ください。

  • Flash cs4 ランダム再生

    Flash初心者です。 やりたいことはホームページ上でアニメーションを再生させる際に、複数パターンのアニメーションをページをリロードするたびにランダムに切り替えるということです。 Flashにてアニメーションのタイムラインを複数パターンつくり、ランダム再生をActionScriptで制御するものを作成したいと思います。 アニメーションのタイムラインを作成しムービーシンボルとしたものを複数作成し、それをシーン1のタイムラインにて各フレームに配置して、1フレーム目にActionScriptにてgotoAndStop(ランダムフレームの記述?);とすればいいのかなと思っているのですが、正しいでしょうか? 現状ではアニメーションのムービーシンボルは必要なパターンだけ作成しました。 シーン1のタイムラインに配置まではしたのですが、ActionScriptの記述が素人なものでさっぱりわかりません。 どなたか教えていただけませんか? 自分なりにやってみたのですが、ランダム関数(?)以前にgotoAndStop()すら思うようにいきませんでした。 Flashはcs4を使用しております。ActionScript3.0のプロジェクトにして添付画像のように1フレーム目に gotoAndStop(10); としてみたのですが、パブリッシュしたswf ファイルは真っ白のまま何も動いてくれません。 gotoAndstop(10); としてみたらstopせずにタイムラインを再生しているようで、各アニメーションの最初のフレームだけが切り替わるものになってしまいました。 ともにコンパイルエラー 1180:未定義である可能性が高いメソッドgotoAndstopの呼び出しです といわれます。 ActionScriptが2.0と3.0とどちらがいいのかもわかってない状態ですが、ご教授願います。

    • ベストアンサー
    • Flash
  • FLASHで書き出したexeをループ再生

    FLASHで書き出したexeをループ再生させたいです。 FLVファイルは紛失してしまい、exeファイルしかありません。 ActionScriptでストップが入っているため、FLASHプレーヤーの制御でループすることは出来ません。 なにか、簡単にループさせる方法はありますでしょうか?

  • FlashのActionScriptについて質問です。

    FlashのActionScriptについて質問です。 Flash CS4のAS2.0を使用 ActionScriptの書き方で (1)ボタンインスタンスに書く (2)対象のインスタンスのフレームに書く (3)ActionScript専用のフレームを作成しそこへ書く 参考書等を読んでいるとActionScriptを書くときに、上記3つの方法が あり混乱しています。 それぞれ、どのような違いがあるのでしょうか?また、どのように使い分けるのでしょうか? Flashに関しては、始めたばかりの超初心者です。どうぞ宜しくお願いします。

  • fscommandで起動したexeから外部ファイルが読み込めない

    こんにちわ。Flash勉強中の者です。 よろしくお願いいたします。 現在、flashで作成したメニュー画面をexe(仮にmenu.exe)で書き出し、その中のボタンのfscommand(fscommand("exec", "main.exe");)でもう一つのexe(仮にmain.exe)を起動させたいと思っております。 WINDOWS XPにてmenu.exeを起動し、そこからmain.exeを起動させたところ、main.exeにリンクしてある外部ファイル(テキストやjpg画像)が読み込めないようです。 (他の症状としては、main.exeを起動させた際読み込みの処理が遅く感じます) main.exe自体は起動していますし、menu.exeを介さず、直接main.exeを起動した場合は問題ありませんでした。 何か解決方法の心当たりがご教授お願いいたします。 ※ファイル構成はこんな感じです。 main.exe fscommand ┬menu.exe      ├text.txt      ├img┬gazo1.jpg         ├gazo2.jpg         ├gazo3.jpg ※製作環境はmacOS 10.3.9 FlashCS3 actionscript2.0です。 よろしくお願いいたします。

  • サブメニューにカーソルが乗っている間もメニューボタンの色を変えたい

    FlashMX使用です。 メニューボタンにカーソルを乗せるとサブメニューボタンを表示、 メニューボタンまたはサブメニューボタンからロールアウトするとサブメニューボタンを非表示 というFlashを作成中です。 サブメニューボタンの表示、非表示は_visibleを使用しています。 サブメニューにカーソルが乗っている時、メニューボタンをオーバーの状態にしたいのですが、方法がわかりません。 調べてみたところ、フレームを切り替えて色を変えているものは発見できました。 actionscriptを使用して1フレーム内でする方法はないのでしょうか? アドバイスお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう