• 締切済み

flash(swf)に検索ボックスを埋め込みたい

プログラマーなのでFlashがよくわからず、ここで聞きます。 例えばgoogleなどの検索ボックスをflashの中に埋め込んで検索させたいのですが可能でしょうか? 可能な場合、Flash5でどのようにすればいいでしょうか? よく外付けのtxtファイルなどにテキスト文言が書かれているものもありますし、使えるタグが限られているようなので、簡潔にやり方のわかる方、助けてください(T_T)

みんなの回答

noname#35109
noname#35109
回答No.2

そうですね。 No.1さんの言われる通りで,URLエンコードがネックになります。 しかし,実はURLエンコードせずに検索窓を付けることは可能です。 http://kibinokuni.zdap.jp/goods/yokubarigensan.html 過去に作ってみたものです。 ※WindwsXPのSP2以降やGoogleやAskなどのツールバーを使用している場合は, ポップアップを許可しないと正常に動作しません。 今,作るならちゃんとURLエンコード(escape)させて,作りますが, これを作ったころはFlash4を使っていたため,escape関数自体がありませんでした。 バージョンアップさせても良いのですが, 「とりあえず検索出来るからこのままで良いか~。」 というわけで,URLエンコードせず。そのままにしてあります。 まず「TextField1」というテキストボックスを作り ボタンの中には次のようなスクリプトを書きます。 ●Flash4でのスクリプト↓ //「Web検索」Googleの場合 On (Release) Get URL ("http://www.google.com/search?hl=ja&ie=Shift_JIS&q=" &TextField1, window="_blank") End On //「Web検索」YAHOO!の場合 On (Release) Get URL ("http://search.yahoo.co.jp/bin/query?p=" &TextField1, window="_blank") End On ●FlashMXでのスクリプト↓ //「Web検索」Googleの場合 on (release) { getURL("http://www.google.com/search?hl=ja&ie=Shift_JIS&q=" add TextField1, "_blank"); } //「Web検索」YAHOO!の場合 on (release) { getURL("http://search.yahoo.co.jp/bin/query?p=" add TextField1, "_blank"); } すみません,あいにくFlash5は持っていないため, 実際にはどんなスクリプトになるのかわかりません。 Flash4に近いとは思いますが… 実際にHTMLの検索窓で検索し,アドレス欄に何が入るかを見て, 「検索ワードの部分」を見つけてその部分に 「TextField1」の値を入れてgetURLしているだけです。 やってみて出来なければあきらめるけど, ひょっとしたらできるかもしれない,とりあえずやってみよう! ということでやってみたらできたわけです。 msnサーチはたしかできなかった記憶があります。

参考URL:
http://kibinokuni.zdap.jp/goods/yokubarigensan.html
dongmuan
質問者

お礼

No1さん同様、お返事が大変大変遅くなり申し訳ございません。 下のお礼にも書きましたが、まずMXを購入することにしました。また聞いてしまったら是非ご教授ください。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

既存の検索ボックスを貼り付ける方法ではありませんが、閲覧者にキーワードを入力してもらい、それを検索エンジンに渡すといったものは、Flash の機能を利用して作成できます。 実は、Flash に付属のマニュアルにも簡単な作例が載っております。 大まかな操作の流れは、「 ActionScript リファレンスガイド」(ヘルプでは ActionScript リファレンス)の、「 Web アプリケーションと Flash の統合」→「フォームの作成」→「検索フォームの作成」をご参照ください。 日本語の場合はエンコード方式という、厄介な問題があります。 文字を他とやりとりする場合は、送信側と受信側で使用しているエンコードの方式が一致していないと、文字が正しく解釈されない、いわゆる”文字化け”が発生します。 Flash 5 の次の世代である Flash MX は、Flash Player 6 までの swf ファイルを書き出せるようになりました。 Flash Player 6 からは、多くの国の言語に対応するために、標準の文字エンコードとして UTF-8 を採用しましたが、ActionScript で設定することで、これまで日本語の標準とされてきた Shift-JIS にも対応できるようになっています。 しかし、Flash 5 で書き出せるのは Flash Player 5 までで、その Flash Player 5 は UTF-8 に対応していません。利用できるエンコードは Shift-JIS だけです。 検索エンジンとして名高いのは Google と Yahoo! あたりですが。 Google では Flash Player 6 以降と同じく、UTF-8 エンコードを採用しているようです。Flash Player 5 までしか書き出せない Flash 5 では、Google の検索エンジンにキーワードを渡すと文字化けが発生するため、利用できません。 一方、Yahoo! の検索エンジンは Shift-JIS を採用していますので、Flash 5 でも利用可能です。 ---------------------- まず、閲覧者がキーワードを入力する、入力用のフォームを作ります。 ツールボックスから「文字」ツール(「A」のアイコンをクリック)を選んで、テキストフィールドを作ります。 描画したテキストフィールドを選んだ状態で、「ウィンドウ」→「パネル」から「テキストオプション」パネルを開いてください。 テキストフィールドには3種類あり、パネルの一番上のリストでタイプを設定します。今回は閲覧者に入力してもらうことが目的ですから、「テキスト入力」を選択します。 このパネルの中にもう1つ、「変数:」という項目があるかと思います。 入力したテキストが格納される変数の名前を設定する項目で、今回は、Yahoo! の検索エンジンが使っている変数「 p 」を入力します。 デフォルトでは、テキストフィールドには枠や背景がないため、入力する場所が分かりにくくなることがあります。 「ボーダー/背景」の項目にチェックを入れると、テキストフィールドに枠線や背景が描画されるようになります。 テキストフィールド内に表示される文字の色や大きさ、フォント等は、「ウィンドウ」→「パネル」の「文字」パネルで設定してください。 なお、テキストフィールドの種類を「テキスト入力」か「ダイナミックテキスト」にした場合は、なるべく、”_等幅””_ゴシック””_明朝”などのように、”_”で始まる名前のフォントを選択するようにしましょう。 続いて、検索エンジンを呼び出す「検索」ボタンを作ります。 絵を描き、「挿入」→「シンボルに変換」でボタンシンボルに変換します。 ムービーでは、シンボルの分身であるインスタンスを配置して使います。ステージで描いた絵をシンボルに変換した場合は、自動的にインスタンスが作られてそのまま残っています。 ボタンが押された時の指示は、ActionScript というスクリプトを書いて出します。 インスタンスを選択した状態で、「アクション」パネルを開きます。「アクション」パネルは、「ウィンドウ」→「アクション」と選択するか、右クリック( Mac では control +クリック)→「アクション」と選択して開くことができます。 Yahoo! で何かを検索してみて、ブラウザのアドレスバーに注目してください。  http://search.yahoo.co.jp/bin/search?p=・・・ となっているかと思います。 URLに ? で続いているものが、検索エンジンに渡される変数の名前とその内容です。 つまり、Yahoo! の検索エンジンが要求する変数の名前は「 p 」であり、その中にキーワードを入れて検索プログラムを呼び出せばいいことになります。 Flash には、ムービーの中からHTMLで作成されたページを表示する、getURL というアクションがあります。 getURL はCGIに変数を送信することもできますので、このアクションで Yahoo! の検索エンジンにキーワードを渡します。 パネルの上部に「オブジェクトアクション」と表示されていることを確認してから、次のようなスクリプトを書きます。 (↓各行頭に全角のスペースが入っています。コピーして利用する際は、全て半角のスペースかタブに置き換えてください)  on(release)  {   //Yahoo!の検索エンジンを呼び出す   getURL( "http://search.yahoo.co.jp/bin/search" , "_blank" , "GET" );  } 以上で基本的な検索ボックスは完成です。 「制御」→「ムービープレビュー」と選択して、動作を確認してみてください。 テキストフィールドに検索のキーワードを入力し、「検索」ボタンをクリックしてください。ブラウザが起動して、検索結果が表示されます。 描画ツールの使い方・ボタンの作り方・「アクション」パネルの使い方・ActionScript の基本は詳しく書ききれませんので、ヘルプか、ネット上の解説サイト等をご参照ください。

dongmuan
質問者

お礼

お返事が大変大変遅くなり申し訳ございません。 とっても詳細な手法を書いていただき助かります。 結局MXを購入してみることにしました。 UTF-8に対応していないのは厳しいので。 購入したら早速やってみます。 分からなかったらまた聞いてしまうかもしれません・・・ とにかくありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A