ParaFlaを使用してドロップダウンメニューを作成しようとしているのですがうまく動作させられません。
ご教示いただきたく思い質問させていただきます。
下のサイトのようなメニューを目指しています。
http://www.hack.channel.or.jp/
まず、大きなメニュー(上のサイトで言うとNews・The Worldなど)があって
それに触れると画像が変化し、小さいメニュー(The Worldとは?・時代設定など)が表示され、
その小さいメニューに触れると大きくなって、クリックでURLを取得。
というものです。(説明下手ですみません)
実際に作ってみている物は
(1)ルートにスプライトAを置き、クリップアクションに
on(rollOver){gotoAndPlay("over");}
-
on(rollOut,ReleaseOutside){gotoAndPlay("out");}
を記入。
(2)スプライトAにover・outラベル設定して
大メニューに触れたら子メニューが開くようにできました。
(3)しかし、そのままでは子メニューの「触れたら滑らかに大きく」を実行できないので、子メニュー1つ1つをスプライトに置き換え、
on(rollOver){gotoAndPlay("over2");}
-
on(rollOut,ReleaseOutside){gotoAndPlay("out2");}
-
on(Release){gotoAndPlay("release2");}
とクリップアクション記入。
(4)そしてそのスプライトにover・out・releaseラベルを設定して
overで大きくなるように、releaseでURLを取得 としました。
多少の不安もありましたがルートにてプレビューしてみると、大メニューoverで子メニュー展開まではできていたのですが、
子メニューに触れても大きくならないしURLも取得できませんでした。
以上が現在の状況です。
間違っている場所があれば指摘をしていただきたいです。
他の方法があれば知恵をお貸しくださいm(_ _)m
分かりにくい文章ですみません。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ここではサンプルなどを提示できませんし,
提示できたとしても私には ParaFla! でサンプルを作成する能力もありませんからヒントだけのようなものです。
ボタン機能( on(rollOver){} などの on(○○){} )が上下に重なると,
下のボタン機能( on(○○){} )は機能しません。
Flashの仕様です。
このことは便利にはたらくことが多いです。
しかし,
たまにはご質問されているように邪魔になる場合もあります。
スプライトを親子の入れ子にして,
親スプライトにも on(○○){} を書いて,
子スプライトにも on(○○){} を書いた場合,
親スプライトの on(○○){} が優先されます。
スプライトは入れ物なので,
外側(親側)の入れ物ほど優先されます。
on(○○){} が上下に重なった場合と同じことになります。
したがって,
> 子メニューに触れても大きくならないし
> URLも取得できませんでした。
という状態になります。
目指していらっしゃるご質問のサイトのメニューを
よーーーく,観察してみてください。
観察するポイントは "カーソルの形" です。
最初に表示されている縦にならんだ親ボタン(スプライト)にカーソルを乗せたとき,
ハンドカーソル(指カーソル)に変わりません。
これは何を意味しているのかというと,
このスプライトには on(○○){} を設定していないということです。
その後に出てくる子ボタン(スプライト)にカーソルを乗せたときは,
ハンドカーソル(指カーソル)に変わります。
これは何を意味しているのかと言うと,
ボタンに設定したインスタンスであるか,
もしくは on(○○){} を設定したスプライトということになります。
ですから,
親スプライトにカーソルを乗せたり放したりするのを,
on(○○){} で検知して動作させるのではなく,
親スプライトとカーソルとが接触したかどうかを判断させて,
親スプライトとカーソルとが接触していたなら,
そのスプライトを gotoAndStop(○○) させるような仕組みが必要となります。
一般的にはこれには hitTest を使います。
FN0308001
onハンドラを使わずにロールオーバー-ロールアウトを検出する
http://www.fumiononaka.com/TechNotes/Flash/FN030 …
Flashゲーム講座&ASサンプル集【当たり判定について】
→点とインスタンスとで当たり判定を取る
http://hakuhin.hp.infoseek.co.jp/main/as/hittest …
以上,
> 子メニューに触れても大きくならないし
> URLも取得できませんでした。
に関して,そうなる理由と,対処法のヒントだけという回答です。
ありがとうございます。おかげで無事に作成できました!
何故駄目なのかが理解でき、参考URLで hittest を(少しですが)学ぶことができました。
ありがとうございました(_ _)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
flash lite1.1 ボタンについて
-
ボタンの上にカーソルを置いた...
-
メニューボタンを押されたまま...
-
深度を最前面にしたいが?
-
python ボタンを押すと複数の関...
-
VBAで改行の入ったデータの正規...
-
static関数がmapファイルに載ら...
-
変数に256文字以上のテキストを...
-
別のアプリケーションのテキス...
-
RPG(AS400)の本、サイトってあ...
-
UWSCのBTN関数について。
-
photoshopで書いた四角の枠の中...
-
C# chart controlの透過について
-
テキストエリア内の文字列にリ...
-
VB6.0で、フォームから、別のフ...
-
ランダムに4桁の数字を表示する...
-
onClipEvent の enterFrameとlo...
-
'2465'指定した式で参照してい...
-
attachBitmapしたMCのgetBytesT...
-
VB6.0のHideのバグ?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンの上に重なっているMCを...
-
ムービークリップをボタン操作...
-
autohotkeyかAutoITでGUiランチャ
-
FLASHで画面の最大化と100%表示...
-
ボタンをクリックしてスタート...
-
getURLの使い方
-
FLASHでドロップダウンメニュー...
-
ムービークリップの中にボタン...
-
MCの中のActionScript
-
VB 基本的なプログラム √ ...
-
1つのボタンで外部ファイルを...
-
縦のメニューバー作成方法で困...
-
ボタンをクリックするとフェー...
-
Flashを使ったサイト作りの際に...
-
ボタンの無効化
-
[Start]を押すと始まるFlas...
-
的当てゲーム
-
直接表示
-
外部ファイルでテキスト、リン...
-
フラッシュのサンプル
おすすめ情報