FLASHで外部swfファイルを検索し読み込み表示するには

このQ&Aのポイント
  • FLASHのファイル(2.swf)内に検索窓を作成し、特定の文字を入力してボタンを押すことで予め決めた外部swfファイルを読み込み表示させることは可能でしょうか。
  • データベースを別の形式のファイルではなく、swf内に作成することを考えています。
  • 使用ソフトはFLASHMXです。
回答を見る
  • ベストアンサー

FLASHで外部swfファイルを検索し読み込み表示するには

FLASHのファイル(2.swf)内に検索窓(テキスト入力欄とボタン)を作成し、その検索窓に特定の文字(ファイル名そのままのような単純なものではない言葉)を入力してボタンを押すことで、予め決めておいた外部swfファイル(3.swfと4.swfのどちらか)を読み込み表示させるということは可能でしょうか。 なお、必要なデータベースは、FLASHとは別の形式のファイル(javascriptなど)を用意するのではなく、swf内に作成したいと思っています。 使用ソフトは、FLASHMXです。よろしくお願いします。 1.exe … 読み込んで再生するためのプロジェクタ 2.swf … 初めに読み込まれているファイル 3.swf … 検索して読み込ませたいファイル 4.swf … 検索して読み込ませたいファイル

noname#24173
noname#24173

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

  • ベストアンサー
回答No.3

検索ワード入力 検索結果表示 は置いといて仕組みだけ 実行しても何も起きませんが デバグ画面で結果が表示されます 以下サンプル // データの配列の初期設定 SerchText = new Array(); JampUrl = new Array(); // ここに検索配列-------------------------------------- // データ0 SerchText[0] = "あいうえお"; JampUrl[0] = "4.swf"; // データ1 SerchText[1] = "かきくけこ"; JampUrl[1] = "5.swf"; // データ2 SerchText[2] = "あいうえおかきくけこ"; JampUrl[2] = "5.swf"; // 検索ファンクション----------------------------- function SwfSerch(SerchChara) { MathValue = 0; delete MachUrl; MachUrl = new Array(); // データの数だけ繰り返します for (Dnum=0; Dnum<=SerchText.length-1; Dnum++) { // res には マッチなし=-1 マッチあり>=0 が代入されます // and 検索をするのなら もうひとつループしなくてはいけません res = SerchText[Dnum].indexOf(SerchChara); // マッチしたなら if (res>=0) { MachUrl[MathValue] = JampUrl[Dnum]; MathValue++; } } // マッチしたファイルを配列で返す // 検索結果表示をどうするかでここもかわります return MachUrl; } // 実行例---------------------------------- // これはデバッグで表示されるtraceで結果を表示します // (SWF画面では何も出ないよ) // 実際どのように検索結果を表示したいかで // かなりやることが変わって来ます a = _root.SwfSerch("あ"); for (i=0; i<=a.length-1; i++) { trace(a[i]); } 以上サンプル 方法は無限にありますが 求める仕様によってそれぞれ良い方法があると思います とりいそぎ汚いソースですが... もっとFla4的なソースがよかったかな とにかく少し遅いですね

noname#24173
質問者

お礼

詳しいサンプルありがとうございます。 難しそうですが、早速挑戦してみたいと思います。 ありがとうございました。

その他の回答 (2)

回答No.2

検索対象となる文字列をFlash内部で変数を持っておいて 入力された文字列にマッチする変数を検索し それに対応するswfを読み込むということでしょうか? でしたら 1.検索対象の文字列を配列で格納 2.対応するswfファイルのURLを配列で格納 3.入力フォームを作る 4.検索ルーチンを作る 5.結果を評価して分岐 ということでしょうか? Flashは正規表現が使えないのでJavaScriptより 融通に欠けるかもしれませんね 速くもないですし exeということはCD-ROMでの配布を想定しているのでしょうか? 「JavaScriptによる簡易データベース」については 知りません もし具体的なサンプルが必要でしたら 時間くださいね

noname#24173
質問者

お礼

お返事ありがとうございます。 私の希望することは、全てお書きくださった内容の通りです。サンプル(flaファイルまたはtxtファイル)をいただけるのでしたら、とてもうれしいです。ただ、申し訳ありませんが、私はFlashをバージョン4の時から使用していていまだにムービーコントロールやブラウザ/ネットワーク、プリントのアクションくらいしか覚えられません。難しいアクションを実行したい時は、全て購入したFlashMXのテクニック集の中から選んで使用しています。ですから、出来る限り簡単なプログラムをよろしくお願いします。

回答No.1

1.何を検索するのか(検索項目が3.4の二つしかないの?) 2.データベースには何が入るのですか 3.データベースとは何かの理解はOKですか?

noname#24173
質問者

お礼

お返事ありがとうございます。 ご質問についてですが、 1.何を検索するのか(検索項目が3.4の二つしかないの?)  swfファイルです。検索項目が少ないのは、説明をわかり易くするためで、数はもっとあります。 2.データベースには何が入るのですか 3.データベースとは何かの理解はOKですか?  以前、HTMLでJavaScriptによる簡易データベースを作成し、外部jsファイルから検索して予め決めておいた文字列を表示するということを行いました。このJavaScriptによる簡易データベースについては、ご存知のことと思いますが、私はデータベースについてこのようなものを想像して質問させていただきました。 よって、簡易データベースの例でhtmlファイルにあたるものが2.swfであり、文字列にあたるものが3.swfや4.swfであり、jsファイルにあたるものを私は知りたいのです。そして、簡易データベースの例では、htmlファイルとjsファイルを使いますが、私はjsファイルにあたるものも、2.swfファイル内にActionScriptなどで指定し、3.swfか4.swfを読み込み表示させたいのです。

関連するQ&A

  • FLASHで外部swfファイルを読み込み表示するには

    FLASHで外部swfファイルを読み込み表示できるということを知り、下記の方法で行ったのですがうまくいきません。どのような方法をとれば、うまくいくでしょうか。使用ソフトは、FLASHMXです。よろしくお願いします。 1. 読み込むswfファイル (2.swf) を用意する。 2. 読み込んで再生するためのプロジェクタ (1.exe) を用意する。 3. "1.exe"と"2.swf"を同じ階層に保存する。 ※"1.exe"の作成方法  ・使用するレイヤーは、起動したときに用意されている1つだけで、フレーム1に"loadMovie"を埋め込み、URLには"2.swf"、場所はレベルで"1"を選択する。  ・"1.fla"と名前を付けて保存し、プロジェクタ"1.exe"としてパブリッシュする。 なお、"1.exe"と"2.swf"のステージサイズ及びフレームレートは同じに設定しています。

  • FLASHの外部SWFファイルの読み込み方法

    FLASHのアクションスクリプトの勉強中です。 外部SWFファイルを複数用意してボタンで呼び出す方法はわかったのですが、その読み込まれ方をかっこよくできないか考えています。 何個かSWFファイルを作成した後、新規FLAファイルを作成しました。 そのファイルにスクリーン用のシンボル(上のSWFファイルと同じ大きさのもの)を作成しインスタンス名を「screen」にしました。 ほいでもって複数のボタンシンボルを作成し、 on (release) { _root.screen.loadMovie("pekepke.swf"); } という感じで外部swfファイルをそれぞれのボタンより読み込むとこまではできたのですが、その読み込まれ方と切り替るときの表示の仕方をふわっと現れ、ふわっと消えてからファイルが現れるというふうにしてみたいのですができますでしょうか? ちなみにflash8を使用しております。ヒントでもいただけるとありがたく思います。

  • 読み込まれた外部ムービーからのコントロールについて

    FLASHでは、 loadMovie(" .swf", ); で外部ムービーを任意の場所に読み込むことができます。この方法を使用して、ローカルにあるプロジェクタ(exe)にネット上に用意したFLASHファイル(swf)を読み込んでいますが、この時、下記のようなことは可能でしょうか。  1. 読み込まれるFLASHファイル(swf)は10フレーム用意されているが、単体で再生すると5フレーム目にあるgotoAndstop(1)というフレームアクションで、6フレーム以降は再生できない。しかし、プロジェクタ(exe)に読み込むことによって6フレーム目から再生できる。  2. 読み込まれたFLASHファイル(swf)からプロジェクタ(exe)のフレームをコントロールする。 使用ソフトは、FLASHMXです。よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部swfファイルの読込み

    Flash Pro8を使用しています。 Flash全体が重くなるため、あるボタンを押したとき、 外部swfファイルを読み込みたいと思っているのですが、 記載するアクションスクリプトがわかりません。 どなたかご存知の方教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHファイルの有効期限設定について

    ソフトウェアには体験版の用意されているものがあります。FLASHにもトライアル版が用意されていますが、30日間の有効期限が設定されています。このように作成するFLASHのファイル(swfやプロジェクタ(exe))に有効期限を設定することは可能でしょうか。また、可能な場合、使用から何日間ということではなく、予め何月何日までと設定することは可能でしょうか。 使用ソフトは、FLASHMXです。よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部SWFについて

    今 ホームページのオープニングをFLASHMXで作っています 2つのファイルで作っています。そして最終的1つにまとめたいのですが 外部SWFのやり方はわかりません。いいやり方をわかりやすく教えてください。

    • ベストアンサー
    • Flash
  • 外部SWFについて

    今 ホームページのオープニングをFLASHMXで作っています 2つのファイルで作っています。そして最終的1つにまとめて 続けて動かしたいのですが外部SWFのやり方はわかりません。いいやり方をわかりやすく教えてください。

    • ベストアンサー
    • Flash
  • FLASH CS4で外部のSWFファイルを読み込むときについて質問です

    FLASH CS4で外部のSWFファイルを読み込むときについて質問です。 外部のSWFファイルを読み込みたいのですが、そのSWFファイルが複数ある場合、読み込むムービークリップも同数用意しなくてはいけないのでしょうか。 現在読みこまれるSWFファイルが複数あり、読み込む透明ムービークリップは一つしか作成してません。この場合、一度読み込まれたファイルが残ってしまい、他のファイルを読み込んだ時に重なって見えてしまいます。 ムービークリップをSWFファイルごとに用意しなくてはいけないのでしょうか。それとも重なりを防ぐアクションスクリプトコードがあるのでしょうか。

  • 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ではどのようにすればいいのかわかりません。 どなたか初心者の私に教えていただけませんか。よろしくお願いします。

  • FlashMX:外部swfファイルの読み込みについて

    FlashMXで動画を作成しています。 外部のswfファイルを読み込んで表示させていて、ふと思ったんですが、このswfファイルのファイル名に全角文字やハイフンやアンダーバーのような記号文字が含まれていると、サーバーにアップした場合にエラーの元になるのでしょうか? よかったら、教えてください。 お願いします。