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 の基本は詳しく書ききれませんので、ヘルプか、ネット上の解説サイト等をご参照ください。
お返事が大変大変遅くなり申し訳ございません。
とっても詳細な手法を書いていただき助かります。
結局MXを購入してみることにしました。
UTF-8に対応していないのは厳しいので。
購入したら早速やってみます。
分からなかったらまた聞いてしまうかもしれません・・・
とにかくありがとうございます。
No.2
- 回答日時:
そうですね。
No.1さんの言われる通りで,URLエンコードがネックになります。
しかし,実はURLエンコードせずに検索窓を付けることは可能です。
http://kibinokuni.zdap.jp/goods/yokubarigensan.h …
過去に作ってみたものです。
※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& … &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& … 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.h …
No1さん同様、お返事が大変大変遅くなり申し訳ございません。
下のお礼にも書きましたが、まずMXを購入することにしました。また聞いてしまったら是非ご教授ください。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
word
-
Illustrator CS5 営業の「営」...
-
Adobe Acrobatについて
-
Pages 09 でテキストボックスで...
-
イラレでダブルクリックで文字...
-
Videostudioテキストの横スクロ...
-
【aviutl】 画像にテキストを張...
-
エクセルのオートシェイプ内の...
-
メールが文字化けします
-
davinci resolveを使っているの...
-
WinMergeでのファイル比較
-
illustratorとExcelは連携出来...
-
ウェブページを一括でtxtに保存...
-
バイナリデータとテキストデー...
-
授業で講師が自分テキストを貸...
-
HP(ホームページビルダーで...
-
PowerPoint SmartArtの箇条書...
-
winムービーメーカーのテキスト...
-
exe bat
-
VBA:水平スクロールバーが要ら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
word
-
Illustratorテキストエリアへ塗...
-
illustratorとExcelは連携出来...
-
PowerPoint SmartArtの箇条書...
-
イラレでダブルクリックで文字...
-
バイナリファイルの編集
-
davinci resolveを使っているの...
-
Excel VBAで改行を含む文字列を...
-
サクラエディタで二つのテキス...
-
Publisherをエクセルファイルに
-
PDF-XChange Viewer のタイプラ...
-
画像からテキストデータを正確...
-
exe bat
-
PDF→CSVへ変換
-
PDF文書で斜めテキスト
-
【PDF】Bullzip PDF Printer で...
-
Chromebookでオフラインでテキ...
-
Adobe photoshop CS2 テキスト...
-
フォトショップで複数テキスト...
-
PDFファイルで画像化された文書...
おすすめ情報