プロが教える店舗&オフィスのセキュリティ対策術

タイトルの通りですが、
メニューボタンを・・・

クリック→サブメニュー開く
再びクリック→サブメニュー閉じる

・・・とするには、
どのようなアクションスクリプトを設定すればよいのでしょうか?

あらかじめ、タイムライン上のフレームに
サブメニューが開くモーションを作成し、
メニューボタンのアクションに

on(release){gotoAndPlay(*);}
*はサブメニューを開きはじめるフレームを指定

を設定したものの、
そこから先がわからず行き詰っています・・・

アドバイスよろしくお願いいたします<(_ _)>

A 回答 (3件)

サブメニューを開いた所でキーフレームを配置、そのフレームのメニューボタンのスクリプトを元に戻るように書き換えてあげたらどうでしょうか?


閉じたメニューが1フレーム目でしたら、メニューボタンの
on(release){gotoandplay(*)}

on(release){gotoandstop(1)}
にしてあげれば良いと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
参考になりました!

お礼日時:2003/06/13 12:15

まず、_rootの1フレームに、


サブメニューが開いているか、閉じているかを判定するための変数を設定します。これはフレームアクションです。

check = 0; //サブメニューが閉じている

次に、メニューボタンのアクションを次のように記述します。
on(release){
 if (_root.check == 0) {
  gotoAndPlay("open");
  _root.check = 1; //サブメニューが開いている
 } else {
  gotoAndPlay("close");
  _root.check = 0; //サブメニューが閉じている
 }
}

こんな感じでわかりますか? 

この回答への補足

ご回答ありがとうございます。
まだアクションスクリプトを使い始めたばかりなので、
いまいちよく意味が分かりません・・・
#1の方の方法でとりあえずはうまくいきましたが、
新たな問題が発生しました・・

例えば・・・
AAAAAA
BBBBBB
CCCCCC
DDDDDD
というメニューがあるとして、

AAAAAAのみサブメニューを開く場合はいいのですが、

AAAAAA
 aaaa
BBBBBB
CCCCCC
DDDDDD

下のようにすべてのボタンにサブメニューをつける場合、

AAAAAA
 aaaa
BBBBBB
 bbbb
CCCCCC
 cccc
DDDDDD
 dddd

ddddのサブメニューを開く場合で考えると、

●他のメニューを何も開いていない状態
●すでにaaaaを開いている状態
●すでにaaaaとbbbbを開いている状態
●すでにaaaaとbbbbとccccを開いている状態

それぞれの状態で位置がズレて変わってくるため、
これまでの方法では対応できなくなりました...
(ちょっとわかりにくい説明かもしれませんが汗)

ika3様の、
サブメニューが閉じているか開いているかを
判定するという変数ならば、
この問題を解決できますか?
もしできるのであれば具体的な方法を
アドバイスお願いいたします!

補足日時:2003/06/13 12:16
    • good
    • 0

> この問題を解決できますか?



はい。解決できます。

↓DDDのボタンアクション
on(release){
 if (_root.ddd.check == 0) {
  if (他のメニューを何も開いていない状態を判定する式) {
    gotoAndPlay("open1");
    _root.ddd.check = 1; //サブメニューが開いている
  } else if(すでにaaaaを開いている状態を判定する式){
   gotoAndPlay("open2");
   _root.ddd.check = 1; //サブメニューが開いている
  } else if(すでにaaaaとbbbbを開いている状態を判定する式){
    gotoAndPlay("open3");
    _root.ddd.check = 1; //サブメニューが開いている
  } else {
    gotoAndPlay("open4");
    _root.ddd.check = 1; //サブメニューが開いている
  }
 }else {
  gotoAndPlay("close");
  _root.ddd.check = 0; //サブメニューが閉じている
 }
}

開閉をチェックする変数は、checkは、aaa,bbb,ccc,dddのムービークリップインスタンスにそれぞれ設定しておきます。

........説明の仕方が難しいです。
ある程度ActionScriptを理解していないと難しいと思います。

お役に立てなくてすみません。
    • good
    • 0
この回答へのお礼

う~む・・・
アクションスクリプトは奥が深いですね
「状態を判定する式」というのがさっぱり・・・(汗

とりあえず今は理解できないので、
妥協したやり方で代用することにします。

今回はいろいろありがとうございました。
またよろしくお願いいたします!

お礼日時:2003/06/14 11:49

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