プロが教えるわが家の防犯対策術!

はじめまして。質問させて下さい。
(フラッシュMX プロフェッショナル2004です)

この度は、フラッシュをクリックすると設定されたリンク先へ飛べる様にしたいのです。

本を読んで…ビヘイビアのイベントが「なし」しか表示されてなかったりして…。
サイト巡りをしたのですが…アクションのタグなんかを参考にしてもだめでした。

宜しくお願いします。

A 回答 (2件)

========================================


**エラー** シーン = シーン 1, レイヤー = レイヤー 20, フレーム = 1 :行 1:マウスイベントはボタンインスタンスでのみ使用できます。
on (release) {

ActionScript エラー数 :1 報告済みエラー :1
========================================

フレームにアクションを書いていたりせませんか?
on(release){
}
はボタンに書きます。

Flashの一番上のレイヤーにフラッシュと同じサイズの透明のボタンを配置してそのボタンを選択したままアクションパネルを開くと
バーに「ボタンアクション」(だっけかな)っていうのが出ていると思いますので、そこに書けば大丈夫だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

この回答の前に気付きました。それが原因でした。

お礼日時:2006/03/12 18:59

どういう状況なのか,今ひとつわかりませんが,



> フラッシュをクリックすると
> 設定されたリンク先へ飛べる様にしたいのです。

"フラッシュをクリック" というのは,
"フラッシュ全体ならどこでも良いのでクリック" という意味でしょうか?
つまり,リンク用のバナーみたいなものをFlashで作っているということですが。

そういう場合限定ではなく,
他でも使えるやり方の方が,色々出来ると思うため,
まず,全般的な,「クリック→リンク先へ飛ぶ」という方法を説明します。


以下で書く,"普通"とは
"一般的に" と言う意味で,
"どんな場合にでも絶対に" という意味ではありません。

「クリックしたら~~」
という場合は,"普通" はクリックする物を作ります。
「クリックしたら~~」が指定できるのは "普通",ボタンシンボルかムービークリップシンボルだからです。

とりあえず,今作られているものを壊してはマズイですので,
新規ドキュメントを作成してください。

そして「四角形」ツールで,線のない "塗り" だけの四角形を
描いてください。塗りの色は何色でも良いです。

その塗りの四角を選択して,
メニューの「修正」→「シンボルに変換」を選び,ボタンシンボルに変換してください。
シンボル名は何でも良いです。
「シンボル 1」とかの,そのままでも良いです。


それで,そのボタンを選択した状態で,
下の「アクションパネル」に,例えば次のようなスクリプトを書けば良いのです。
(「アクションパネル」が表示されていない場合は,
「ウィンドウ」→「開発パネル」→「アクション」で表示されます。)

-----------------------------------------------
on (release) {
getURL("http://www.google.co.jp/", "_blank");
}
-----------------------------------------------

最初の行
on (release) { } など, on から始まるスクリプトを,onイベントハンドラと言います。

on (release) は,シンボルをクリックして,マウスアップしたとき。
という意味で,いわゆる普通のクリックしたときということです。
その他,
on (press) = シンボルにマウスダウンしたとき。
on (rollOver) = シンボルにロールオーバーしたとき。
on (rollOut) = シンボルからロールアウトしたとき。
などなど,たくさんあります。

次の行,これがリンクです。

 getURL("http://www.google.co.jp/", "_blank");

これは,「Google を,"_blank" つまり,新しいウィンドウで開け。」
という意味です。
URL は http:// から始まる絶対パスでもかまいませんし,
"AAA.html" や "BBB/AAA.html" など相対パスでもかまいません。
Flash の SWF を貼り付けた HTML から見たときの相対パスになります。

"_blank" は,新窓ですがここを, "_self" にすると,
表示されているウィンドウがそのまま,Google などに移動します。

つまり getURL の中身は,HTML の

 <a href="http://www.google.co.jp/" target="_blank">クリック</a>

と同じように考えてくだされば良いわけです。



アクションパネルに直接書くのではなく,ビヘイビアを使用したい場合は,
上で作ったボタンシンボルを選択した状態で,
ビヘイビアの「+」をクリックして,
「 Web 」→「 Web ページへ移動」を選択すると,
「URLへ移動」というダイアログが出てきます。
ここで、移動先のURLを入力し,表示方法をリストから選択すればOKです。

アクションパネルには自動的に,

-----------------------------------
on (release) {

  //Goto Webpage Behavior
  getURL("http://www.google.co.jp/","_blank");
  //End Behavior

}
-----------------------------------

などと書き込まれます。
//がある行はコメント行で,プログラム上は無視される部分なので,
あってもなくても良い行です。

ビヘイビアを利用してアクションを作ると,
けっこう簡単にスクリプトが書けますが,
アクションパネルに直接書き込む方が色々なことができるので,
なるべく,ビヘイビアを利用せずに作られた方が発展性は多いと思います。


以上でボタンをクリックしたときに,リンクで別のURLを開く方法の説明は終わりです。

=======================================

リンク用のバナーなどのように,
Flash のどこをクリックされた場合でも,リンクをかけたい場合は,
上のボタンを,ステージ全体に広げて,透明にしてしまえば良いだけです。

作ったボタンシンボルを選択して,
「右クリック」→「自由変形」などで,ステージ全体にかぶさるように拡大しても良いですし,
「整列パネル」で右の方の
 ステージを基準: をクリックした状態にしておいて,

 整列: 中央揃え(水平方向)
 分布: 中央分布(垂直方向)
 サイズ揃え: 幅を揃える & 高さを揃える

を選択してもらうとステージにフィットします。

その状態で,下のプロパティパネルを表示させて,
右の方,

 カラー:[なし   ▽]

となっている部分を,

 カラー:[アルファ ▽] [0% ]▽

にするとそのボタンは透明になります。


上記で仮に作ったものではなく,
今つくられている作品の場合は,現在のものにさらに上にレイヤーを追加して,
その一番上のレイヤーに,この透明ボタンを作ってもらうと,
フラッシュのどこをクリックされた場合でも,別のURLにジャンプするというものができます。


==以下は余談に近い物です===================

> サイト巡りをしたのですが…
> アクションのタグなんかを参考にしてもだめでした。

根本的に,まだ今ひとつちゃんとした作り方を覚えられていないのができない最も大きな理由だと思いますが,
もう少し理解されて,検索する場合,
「アクション リンク タグ フラッシュ」 とかでGoogleで検索してもまともな参考URLは出てきません。

例えば 「ActionScript」 と検索
http://www.google.co.jp/search?hl=ja&q=ActionScr …

これだけでかなり,スクリプトの紹介サイトは検索されますし,
さらに getURL というような1つのキーワードがわかれば

「Flash getURL」と検索
http://www.google.co.jp/search?hl=ja&q=Flash+get …

で,さらに目的のサイトが見つかりやすくなります。
まず,少し語彙を増やして,専門用語で検索してみてください。
結構良いサイトが見つかります。スクリプトでけでなく
他に例えば,すごく初歩的な専門用語で

「モーショントゥイーン」
http://www.google.co.jp/search?hl=ja&q=%E3%83%A2 …

と検索するとか,
すごいマニアックな専門用語で

「メニューアイテムトラック」
http://www.google.co.jp/search?hl=ja&q=%E3%83%A1 …

とかでも良いです。
専門用語を知るとその先が深くまで探求できます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

on (release) {
getURL("http://www.google.co.jp/", "_blank");
}

同じ様な記述で試してみたのですがパブリッシュすると

**エラー** シーン = シーン 1, レイヤー = レイヤー 20, フレーム = 1 :行 1:マウスイベントはボタンインスタンスでのみ使用できます。
on (release) {

ActionScript エラー数 :1 報告済みエラー :1

この様なエラーが出ます。
パブリッシュ後はクリックしてもサイトへ飛ぶことが出来ない現象です。

お礼日時:2006/03/12 16:06

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