• ベストアンサー

【FLASH】同一のswfファイルに別の動作をさせる方法

FLASH8(Win-XP)使用者です。 同一のswfファイルを同じページ上に並べて別の動作をさせられないものかと考えています。 FLASHは画像サイズや背景色はHTML上で記述を変えるだけで変えられます。これと同じ要領で、何か値を与えて別の動作をさせられたら便利かなと思います。 そんな方法はありませんでしょうか? お詳しい方、よろしくお願いいたします。

  • Flash
  • 回答数1
  • ありがとう数4

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

  • ベストアンサー
  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.1

HTML上のファイルパスにパラメータをつけると、 変数に任意の文字を代入させることができるので、 そのまま変数として使用し処理させることが可能です(PC版のみ) 今回のサンプルではswf内におけるif分岐の条件として、 HTML側で記述したパラメータの内容を使用させてみます ■HTML側で編集 ・param 内のswfパスと embed 内のswfパスにパラメータをつける 例 sample.swfのmoveFlagに1を代入させるパスの書き方 sample.swf?moveFlag=1 例 sample.swfのmoveFlagに2を代入させるパスの書き方 sample.swf?moveFlag=2 ■swfファイル(flaで編集) ・_root(最上階層)のタイムライン上に  インスタンス名 hoge というMCを適当に配置 ・_root の1フレーム目に以下のスクリプトを記述 if (moveFlag == 1) {//moveFlagが1だったら hoge.onEnterFrame = function() { //この中のthisはhogeに対するもの this._rotation++;//回転する }; } else if (moveFlag == 2) {//moveFlagが2だったら hoge.onEnterFrame = function() { //この中のthisはhogeに対するもの this._x++;//右に移動 }; } else {//上記以外 //エラー表示 this.createTextField("error", 0, 0, 0, 200, 20); error.text = "myFlagが1でも2でもない!"; } ■後記 こんな感じでHTMLファイルを見てみると、 sample.swf?moveFlag=1とsample.swf?moveFlag=2で別々の動作になります パラメータの持たせ方には他にも FlashVarsというのもあります こちらも興味があったら検索などで調べてみてください

ikataro
質問者

お礼

おお!できました!! これはすごいですね。 今までは似たうな内容のswfをその都度書き出ししていましたがこれならかなり楽ができそうです。 どうもありがとうございました。

関連するQ&A

  • swfとswfを重ねる

    フルフラッシュで作ったページのコンテンツに Flashでつくった別のswfを読み込ませることはできますか? 具体的にいうと、FlashでつくったBackgroundに 無料ダウンロードできる フォトギャラリーのswfファイルを載せたいのです。 (このサイトのものです。http://flash-bucks.com/) もし可能であれば、やり方を教えてください。 また、その場合背景を透過することも可能でしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FlashとJavaScriptの連携について。

    HTML内に設置したFlash(SWFファイル)のボタンを押すと、別ウインドウのHTMLページが開く方法について。 現在ホームページを制作していますが、FlashとHTML内のJavaScriptとの連携が上手く出来ないので質問します。 問題のスクリプト・タグを記載します。 -----以下、HTML(index.html)内に記述したJavaScript----- <script type="text/javascript"> function winopen(top.html,1024,768{window.open(top.html,"name","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0" , Width=" + 1024 + ",Height=" + 768); </script> -----ここまで----- -----以下、Flash(SWFファイル)のボタンに対して記述したActionScript----- on (release) { getURL("javascript:winopen("top.html",1024,768);", "_blank"); } -----ここまで----- この状態で、HTM内にobjectタグを用いて設置したFlash(SWFファイル)のボタンが上手く動作してくれません。 希望する動作としては「index.htmlに設置されたFlash(SWFファイル)のボタンを押す」→「別ウインドウ(1024×768のサイズ、各ツールバー等非表示、スクロールバーのみ許可)が立ち上がりtop.htmlが表示される」という流れです。 ※移動先のtop.htmlには、特にJavaScriptの記述はありません。また、top.htmlはHTML内にFlash(SWFファイル)を設置した見た目だけフルFlashのページになります。 ご不足の記述等があれば、すぐに補足追加させて頂きます。 ご回答、宜しくお願い致します。

    • ベストアンサー
    • Flash
  • Adobe Flash Catalystで、パブリッシュした後でswf

    Adobe Flash Catalystで、パブリッシュした後でswfのサイズを変える方法がわかりません。 他のコンテンツと共用のため、1280Wx720Hのアートボードで作ったswfをローカル再生用に、 パブリッシュしました。これを、750Wx422Hくらいに比率を保ったまま、縮小したいのですが、方法がわかりません。 swfの内容は、Catalystで2ページを作りその間にトランジェントがある単純なものです。 フリーの制作ソフトSuzukaでは、アートボードのサイズとは別に、swf書き出しの時に、 サイズ指定ができました。また、object/embedでHTMLに埋め込む時にも、サイズが指定 できましたので、swfにしてから、何とかなると思っていました。 Catalystでは、swfパブリッシュの時、サイズ指定はありません。 ローカル再生用のswfパブリッシュで生成されるHTML内のobjectのパラメーターを、 変えてみましたが、swf本体のサイズは変わらないで、swfが表示される画面のサイズが、 小さくなっただけでした。 よって、swfの左上1/4が見えて・動いているだけです。 最終的には、用意済みの他のHTMLページに、パブリッシュで生成されたHTML内のswfに関連するobject記述をコピペして、swfをリンクさせて完成したいのですが。 swfのサイズの変更でつまづいています。 swfには、制作したソフトにより、埋め込む際のobject/embedのパラメーターで、サイズ 調整ができるものと、そうでないものとがあるのでしょうか? 初心者ですので、私の知らないサイズ関連のパラメーターでサイズ変更ができるので しょうか? どなたか、Help Me~~~~~~~~!!!!

  • FLASHでデータ保存したがswfファイル

    新しく購入したパソコンにFlash5をインストールして 動画を作成して保存してパブリシュしたのですがFlashムービーとHTMLファイルは 保存されてますがSwfファイルが保存されません。 その代わりにShockwave Flash Objectファイルが保存されています。 どうすればswfファイルが保存されるようになるのでしょうか? よろしくお願いいたします。

  • FlashのSWFファイルをスクリーンセーバーにするには?

    Win2000,Flash5,FlashMX環境です。 Flashで制作したSWFファイルをスクリーンセーバーにしなければならなくなりました。 Flashではプロジェクターをつくるまでしかできないので、どうやら別にソフトが要るようですよね。 そうしたとき、一番安くつくソフトは何でしょうか。 一番の希望としては、ユーザーがインストールする方法を知らなかったり手間だったりすることがあるので、インストーラーもつくれるものがベストです。 WinもMacにも使用できるもので。 ちなみにスクリーンタイムforFlashというのがありましたが、Flashよか高いですよね! ため息でした・・・。 Win用にはこれを使い、Mac用にはこれを使えばできる、ということでも構いません。 また、インストーラーまでは見送るとするならばコレがあるぞ、などということでも構いません。 探すんですがウマいのがどうにも見つかりません。ご存知の方いらっしゃいましたら宜しくお願い致します。

  • エクセルにFLASHファイル(swf)を挿入する方法

    エクセルで作成中の文書にFLASHのファイル(swf)を挿入することは可能でしょうか?(エクセル上でFLASHアニメは確認できなくて良いです) 最終的に「webページとして保存」でhtmlで書き出すので、html上でFLASHが見れるようにしたいのです。 アニメーションGIFは「挿入>図」で普通に配置でき、htmlで書き出したらちゃんとアニメーションしてくれてましたが・・エクセルはswfには対応してないのでしょうか? お分かりの方おられましたらご回答頂けると助かります。 どうかよろしくお願いします。

  • FLASH内でのHTML読み込み

    いつもお世話になっております。 今回はFLASH内でHTMLを読み込む方法が分からず ご助言頂ければと思い、投稿させてい頂きました。 使用しているバージョンは FLASH5Jです。 具体的にはSWF内で既存のHTMLをそのままブラウザの様に読み込みたいのですが テキストの値を読み込ませ、 SWF内でサポートされていない記述(一部のHTMLタグとか) を試行錯誤して取り除いて行く、という方法しか無いでしょうか? その場合ですとイメージタグ等が使えない様なので困っています。 補足要求等あればお願い致します。 宜しくお願い致します。

  • フルFlash、swfファイルの読み込みについての考え方(as3.0)

    フルFlash、swfファイルの読み込みについての考え方(as3.0) こんにちは。 Flashのas3.0を始めて半年程度の者です。 長文ですが宜しくお願い致します。 下記のような構造のフルFLASHページを作りたいと考えております。 ■大まかな階層構造 ・index.html(opening.swfを100%で読み込む指定) ・opening.swf(最初に流れるアニメーション。最後のフレームに行くとmain.swfを読み込む指定) ・main.swf(フルFLASH) /// opening.swfの最終フレームに記述 /// stop(); var loader:Loader = new Loader(); var url : URLRequest = new URLRequest("main.swf"); loader.load(url); stage.addChild(loader); 上記の記述でmain.swfを読み込むことは出来るのですが、 アニメーションのopening.swfを非表示にする方法が分かりません。 loader.addEventListener(Event.UNLOAD,・・・); という記述でロードしたswfを非表示にする方法は分かるのですが、 opening.swfは直接index.htmlのタグに埋め込んでいる為、うまく機能しないのではと思っております。 ■私が思いついた対策 ・index.html(background.swfを100%で指定) ・background.swf(とりあえずhtmlに埋め込んでおくswf) ←コレを追加!! ・opening.swf(最初に流れるアニメーション。最後のフレームに行くとmain.swfを読み込む。) ・main.swf(フルFLASH) 上記の階層構造で、background.swfを常に背景感覚で表示させ、 opening.swfもmain.swfもloadで切り替えれば実現は出来るかと思います。 只、この方法が一般的に適切な方法なのかどうか疑問に思いました。 オープニングアニメーション ⇒ フルFLASHという流れをつくるには、どういう作り方が一般的なのでしょうか? 出来ればJSは絡ませず、htmlとflashの指定だけで完結出来ればと思っております。 考え方だけどもご教授頂ければ助かります。 何卒、宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • 死ぬほど困ってます!.swf(Flash)ファイルをTOP画面にしたい!

    依頼されてHPを作っていますが既にアップされているHPのデータをいじっていたらTOPのFlashが表示されずそのままindex.htmのページになるようになってしまいとても困っています。使用ソフトはDreamweaverでFlashは別の人が作ったものです。HTMLでそのFlashがURLを開いたときに最初にくるためにはどうしたらいいですか?ファイルの置き場所が悪いのでしょうか?お願いします!!

    • ベストアンサー
    • HTML
  • FLASH CS4での外部SWFファイルの読み込みについて質問です。困

    FLASH CS4での外部SWFファイルの読み込みについて質問です。困っています。 AS3.0の初心者です。FLASH8(AS2.0)は使っていたのですが、AS3.0についてはほとんど知りません。FLASH8と同じ要領でボタンと透明ムービークリップを作成し、ボタンをクリックするとMCに外部SWFファイルが読み込まれる・・・という設定をしました。 ネットなどで色々調べた結果、SWFファイルの読み込みASは記入できたのですが、問題が一つ。 ボタンのレイヤーがMCのレイヤー下にあると、透明であるMCが邪魔になるのかボタンがクリックできません。ボタンのレイヤーを上に持ってくると、SWFは読み込まれるのですが元のSWFのボタンがそのまま表示されてしまいます。 FLASH8では透明MCが上にあってもボタンをクリックできた記憶があります。透明MCは元のSWF,外部SWFと同じサイズ(全て800x600px)にしてあります。 AS3.0ではどのようにすればいいのかわかりません。 どなたか初心者の私に教えていただけませんか。よろしくお願いします。

専門家に質問してみよう