ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Flashコミュの外部swfを含むswfデータをexeにしたい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。

外部swfを含むswfデータを、全部まとめてexe形式にしたいのですが、方法がわからず困っています。
方法を御存知の方おられましたらご教示いただけると助かります。

バージョンは Flash CS3 Professional、PCは Windows XP です。

コメント(19)

仮に, 「外部swfを含むswfデータを、全部まとめてexe形式」 にしたとします。
そのとたん,外部swf は 外部swf ではなくなり, exeの一部になると思います。

つまり外部SWFをEXEの中に入れるということ自体ナンセンスだと思います。
(言っていることわかります?)

EXE に内包するのでしたら最初から SWF を SWF に内包しておくべきでしょう。
つまり SWF 内のムービークリップとしてムービーを配置すべきでしょう。

 SWF の 外の SWF が,
 EXE の外の EXE ではなく,
 EXE の中の EXE である。

または

 SWF の 外の SWF が,
 EXE の外の SWF ではなく,
 EXE の中の SWF である。

という意味がそもそも理解しがたいです。
「EXE の中の SWF であれば EXE の 外ではない。」と思います。単純に。
どういう風なexeを想定しているんでしょうか?

AIRのことをいっているのかな?
どうしてもexeにこだわるなら、visual studioでバイナリアプリを作るしかないでしょうね

また違う言語と開発環境が必要になりますけど

何をしたいか目的を書いたほうが早いのではないでしょうか?
多分、そんな高度な次元ではなく、自己完結するexeと外部のアプリが必ず必要なswfの違いが基本的な所で理解してないだけかと。
てか突っ込んでいる人はみんな優しく空気読んでいるだけなんだろうけど。
airが一番近いのかな。
> airが一番近いのかな。

ああ,なるほど。
それでしたら確かに インストーラ の中に SWF があって,
インストール展開後,EXE の外 に SWF が来ますね。
確かに EXE の外の SWF を全部まとめて1つのファイルにすることができます。
元になる1つの swf のみ exe としたいのでしたらプロジェクタとして作成してください。
プロジェクタは Flash から書き出しか、スタンドアロン FlashPlayer を利用すれば可能です。

もし元から更に swf を呼び出していて、その部分も exe としたいのであれば無理です。
ただし、プロジェクタからは swf のままで呼び出し可能です。
たくさんのコメント、ありがとうございます。

私がやりたいのは、ささきちさんがおっしゃってる、「外部swf は 外部swf ではなくなり, exeの一部に」したいんです。AIRではありません。

現在持っているデータが、外部(階層は同じ)swfと、それを読み込むswf、それぞれのFLAデータで、元はweb上で見せる用に作ったものなんですが、それをデスクトップ上で見れるようにしたいと思ってます。

全部をひとつのexeに入れてしまうには、やはりすべての(リンク先のswf)を同じFLAデータの中に入れないとできないものでしょうか?
デスクトップ(ローカル)で見たいのか、exeファイル単体で動作させたいのかでちょっと変わってくると思います。 ローカルで見るだけなら サブフォルダを作ってswfを読み込んでいる階層を維持してそのまま外部読み込みにしておく形でいいと思います。
単体で見たいなら外部読み込みのSWFファイルのソース(FLA)がないと無理じゃないかな

コメントありがとうございます

exe形式の単体で動作させたいんです。
サブフォルダにswfを入れる手もあるんですが、誰かにコピーして渡す時にexe単体の方が便利なので。

それぞれのFLAデータはあるんですが、リンクしているswf全てを含めている状態のFLAデータはないので、全部を含めたexeを作るには、一から組み直さないといけないのか、それとも他の方法があるのか・・・という状態です。

Flash 的な解決ではないですが、自己解凍な lzh を作ってやった上で起動時に展開させれば
全て解決ではないですかね?
配布だけ気にするのであればそれだけで十分かと思います。
lzhだと解凍ソフトが必要ですし、PCに慣れている方なら特に不都合はないのですが、対象にしているのが普段PCをさわらない方なので、exe形式が一番扱いやすいんです。



いえ、だから自己解凍な lzh と。
自己解凍形式だから解凍ソフトも必要ないですよ。
あ、なるほど。

ただ、今回はexe形式でやりたいので、とりえあえず他のデータ形式はやらない方向でご意見を頂けるとありがたいです。
VB.NETなりC#.NETなりを使えばできますよ

(1) SWFファイルを”リソース”に置く
(2) 使いたいSWFファイルをリソースからバイナリ配列に取り出して、一旦ファイルに書き出す
(3) 書き出したSWFファイルをCOMコントロールAxShockwaveFlashに読み込んで再生
(4) 使い終わったら、書き出したSWFを削除する

AxShockWaveFlash.LoadMovieにはバイト配列化されたSWFは渡せないので
一時ファイルを作ってそこのパスを渡す必要があります


ここまで書いてアレですが、手間を考えるとFlashでメニュー作ってそれをプロジェクタ化したほうがラクですね
「SWFを隠蔽化しないと死ぬほど困る」くらいのレベルでないと割に合わないと思います
では1から swf を組みなおして1つの swf にするしか無いですね。

Flex 以外での実装方法はちょっと知らないのですが、「埋め込みアセットクラス」を
キーワードにして検索されると解決の糸口が出ると思います。
何にせよ仕様を変えるにはスクリプトをいじるほかはないですね
ASのバージョンにもよりますが、原始的にやるなら

読み込まれる側のFLAのステージのタイムラインのフレームをすべてコピー
新規シンボルで空のムービークリップを作ってペースト
作ったMCを親のFLAのライブラリにコピペ

で読み込んでるswfのスクリプトをloadmovieからattachmovieに変更する
スペル間違ってたらごめんなさいw

これでいけませんかね

mProjectorならできるんじゃなかったでしたっけ?
exeをビルドするときに、メイン以外のswfを追加できたような記憶が。
mProjectorの費用がかかるのと、記憶が定かではないので、参考程度まで。
たくさんご意見、ありがとうございます。

少し勉強不足な部分も含めて、いろいろ試してみます。

ありがとうございました!

ログインすると、残り1件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash 更新情報

Flashのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング