重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ActionScript超初心者です。
よろしくお願いします。

ステージ上にボタン「A」「B」「C」を配置、
ボタン脇のスペースにムービークリップを配置、各ボタンで切り替え再生させたいと思っています。

2フレーム目に簡単なアニメーションのムービークリップ「animA」を、
3フレーム目に同様の「animB」4フレーム目に「animC」を配置し、
各ボタンon (release)で各ムービークリップの再生をしたいのですが
うまくいきません。

どこにどのようなスクリプトを書けば良いか教えていただけないでしょうか。
よろしくお願いします。

A 回答 (1件)

> 各ボタンon (release)で


> 各ムービークリップの再生をしたい

と書かれていらっしゃいますが,
まず on(release) が使えるのは ActionScript 1.0 または 2.0 です。
その点は問題ないでしょうか?

つまり
Flash 8 以下 (Flash 8,MX 2004,MX,5) をお使いの場合は特に気にすることはありません。
しかし
Flash CS3 以上(Flash CS3,CS4,CS5) をお使いの場合は
「ファイル」→「パブリッシュ設定」で Flash タブを選択し,
ActionScript のバージョン を ActionScript 2.0 か 1.0 にしておく必要があるということです。

Flash CS3 以上で使える ActionScript 3.0 では
on(release) が使えないどころか
ボタンやムービークリップ自体にActionScriptを何も書くことはできないので
「うまくかない」 どころか 「記入不可能」 ということになります。

以上が on(release) を使う最低条件です。
 
 
 
===============

以下はそういう条件での作成方法です。

上でも少し書きましたが on(release) は
ボタン自体またはムービークリップ自体に書くスクリプトです。

ボタンA をクリックしたとき
その ボタンA が存在するタイムラインのフレームをフレーム2 に進めて停止させたい という場合は,
アクションパネル を表示させて,
ボタンA を選択した状態でアクションパネル に次のように書きます。

on (release) {
gotoAndStop(2);
}

または

on (release) {
this.gotoAndStop(2);
}

※参考【図】↓


上の2つのスクリプトは
ボタンA が ボタンインスタンス で作られたものである場合です。
もし
ボタンA を ムービークリップ で作られた場合は
ムービークリップはそれ自体に階層を持つため
ムービークリップ自体には 次のように書く必要があります。

on (release) {
_parent.gotoAndStop(2);
}

または

on (release) {
_root.gotoAndStop(2);
}


もし (あくまでも 仮に の話です),
ボタンA が自作したボタンではなく
コンポーネント の Buttonコンポーネント を使用されている場合は
Buttonコンポーネント自体に 次のように書く必要があります。

on (click) {
_parent.gotoAndStop(2);
}

または

on (click) {
_root.gotoAndStop(2);
}

 
他のボタンも同様に
ボタンB でしたら gotoAndStop(2) の部分を gotoAndStop(3) のように変えて書きます。
ボタンC でしたら gotoAndStop(2) の部分を gotoAndStop(4) のように変えて書きます。
 
 
 
※以上は on(release) を軸として書いたものです。
  on(release) ではなく
  ActionScript 3.0 を軸にする場合 や
  onReleaseイベントハンドラメソッドを軸にする場合,
  内容は根底から全面的に変わります。
「Flash フレームを指定してムービーク」の回答画像1
    • good
    • 0
この回答へのお礼

とてもわかりやすく説明していただきありがとうございました!
2.0と3.0で基本的に違ったんですね..。
とても勉強になりました。

お礼日時:2010/11/17 09:48

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