メイン 迷える子羊の部屋【初心者専用】 サブメニューの表示・非表示 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
113013 | Åê¹ÆNo.21838 投稿日時: 2005-12-1 14:00 |
新米 居住地: 京都 投稿: 4
使用環境:
Winxp,Flash8 |
サブメニューの表示・非表示 サイトのナビゲーションメニューをフラッシュで作りました。
サイトURLはこちらです。 http://www.zero-corp.co.jp/ 構造は下記の通りです。 1)アクションレイヤー ・1フレームにstop();設置 2)ラベルレイヤー ・2フレームから10フレームにボタン1ラベルをつける。 3)ボタン1レイヤー ・1フレームにメインメニュー1のボタン設置 ボタンのスクリプト on (rollOver) { gotoAndStop("ボタン1"); } ・2フレームにメインメニュー1に対するサブメニューのボタン設置 4)ヒット1領域レイヤー ・2フレームに透明ボタン設置 ボタンのスクリプト on (rollOver) { gotoAndStop(1); } 5)以下、メインメニューの数だけ3)と4)を繰り返す。 6)ボタンレイヤー ・1フレームから最終フレームまでメインメニューのボタン設置 ロールオーバーでサブメニューが表示され、ヒット領域にマウスが移動すると(ロールアウト)もとに戻る構造になっています。 (ヒット領域とは、各メインメニューとサブメニューの周りの領域です) 通常の使用では問題ないのですが、ヒット領域が小さいためか、何らかの偶然でマウスがメインメニューをかすり、ヒット領域に反応しないことがあり、サブメニューが表示されっぱなしになります。 そこで、2フレームに何秒か経過したら、1フレームに戻るというスクリプトを入れたいのですが、うまくいきません。 やってみたのは、ボタン1レイヤーの2フレームに下記のスクリプトを入れました。 //フレームアクション timerObj = new Object(); timerObj.timeout = function() { clearInterval(timerID); trace("10秒待った"); trace([currentFrame(), currentFrame().gotoNextFrame()]); // 確認用に追加 currentFrame().gotoNextFrame()();}; var timerID = setInterval(timerObj, "timeout", 10000); ところが、10秒後に 10秒待った undefined,undefined と言う出力結果が出てきて、1フレームには戻りません。 どのようにしたら良いでしょうか。 よろしくお願いします。 |
ひろゆき | Åê¹ÆNo.21839 投稿日時: 2005-12-1 14:20 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: サブメニューの表示・非表示 引用:
そこで、2フレームに何秒か経過したら、1フレームに戻るというスクリプトを入れたいのですが、うまくいきません。 おそらく「10秒後に次のスライドへ」を参考にされたのだと思いますが、 このスレッドでのスクリプトは、スライドプレゼンテーションでのスクリプトなので、 そのままスクリプトを使っても、上手く行かないと思います。
あるいは、リンク先の投稿をよく読んでいくと、 「フラッシュを一定時間停止させる」というスレッドもあります。 ここにある方法を用いれば、
|
Fla4man | Åê¹ÆNo.21840 投稿日時: 2005-12-1 14:55 |
職人 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: サブメニューの表示・非表示 Flash8ならsettimeoutがいいんじゃないですか?
|
森 巧尚 | Åê¹ÆNo.21842 投稿日時: 2005-12-1 15:27 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: サブメニューの表示・非表示 Fla4manさんはFlash 8を持っておられないのようなのでわからなかったと思いますが、settimeoutではFlash8では動きません。
setTimeoutだと一応動いているような感じですが、アクションパネルでシンタックスカラーとして認識されませんし、ヘルプにも載っていません。正式にサポートしていると公開されている関数ではないようなので、今は使わないほうがいいでしょう。
|
113013 | Åê¹ÆNo.21843 投稿日時: 2005-12-1 16:24 |
新米 居住地: 京都 投稿: 4
使用環境:
Winxp,Flash8 |
Re: サブメニューの表示・非表示 こちらの方法で動作しました。
大変助かりました。 本当に、ありがとうございました。 引用: ひろゆきさんは書きました: |
Fla4man | Åê¹ÆNo.21844 投稿日時: 2005-12-1 16:56 |
職人 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: サブメニューの表示・非表示 そうなんですか。情報ありがとうございました。
Flash一般の説明としては公式サポートされるまで 「better」という言い方はしないことにします。 実際setintervalでもちゃんと組めば問題ないわけですし しかしFlash8正式版プレーヤーではたしかに実装されている機能であり 除外される可能性はないので 私は有効活用していこうとおもます。
|
野中文雄 | Åê¹ÆNo.21849 投稿日時: 2005-12-1 18:52 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: サブメニューの表示・非表示 非ドキュメントの機能については、一般的にはいわれるとおりだと思います。ただ、setTimeout()/clearTimeout()関数は、正規にサポートされるようです(引用したFlash 8 LiveDocsに、2005年9月13日付でコメントされているFrancis Cheng氏は、Macromediaの方です)。
もっとも、簡単な説明しかありませんので、細かい点については、よくわからない部分が少なくありません。 引用: 森 巧尚さんは書きました: |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |