アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

既存の検索ボックスを貼り付ける方法ではありませんが、閲覧者にキーワードを入力してもらい、それを検索エンジンに渡すといったものは、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 の基本は詳しく書ききれませんので、ヘルプか、ネット上の解説サイト等をご参照ください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/28 15:46

そうですね。


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 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/28 15:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!