公式アカウントからの投稿が始まります

こんにちわ
タイトルのとおりなのですが
以下のactionscriptの間違っている
部分を教えてください

on(release){
this.play.("a_mc");
}

他にもいじってみたものの動きません(汗
他の方法などもありましたら教えてください
お願い致します

A 回答 (1件)

ムービークリップを再生、つまりムービークリップのタイムラインを動かすスクリプトは、



 再生したいムービークリップ.play();

です。
play に続く ( ) の中に再生するムービークリップの名前を指定するのではありません。

それから、play と ( ) の間に” . ”(ピリオド)は不要です。


あるムービークリップの特定のフレームから再生する場合は、play ではなく gotoAndPlay という命令を使います。
こちらは、

 再生したいムービークリップ.gotoAndPlay( フレーム番号またはラベル );

このような書式になります。

play はどこのフレームで止まっていてもその続きから再生する命令なので移動先の指定がいらないのですが、gotoAndPlay は特定のフレームに移動する命令であるため、移動先が必要になります。

------------------------------------------------------------------

ステージにボタンシンボルのインスタンスと、ムービークリップのインスタンス” a_mc ”があるとします。
ボタンを押した時に a_mc を再生するスクリプトは、次のようになります。
このスクリプトはボタンのインスタンスに設定してください。

(↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)


 on(release)
 {
  _root.a_mc.play();
 }


ActionScript では、ムービークリップやボタン、変数・関数などには全て持ち主がいると考えます。
例えばステージに配置したムービークリップやボタンは、一般的には _root というムービークリップの持ち物です。

上記のスクリプトで使った play(); という命令(メソッドといいます)はムービークリップ a_mc が持っているもので、ボタンに書いたスクリプトで使う場合は、ボタンが a_mc の持ち物のメソッドを使わせてもらう形になります。
他人が持っているものを使わせてもらうには、持ち主を正確に指定しなければなりません。
この指定のことをターゲットパスといいます。

a_mc は _root の持ち物であり、play はその a_mc のものです。
” _root にあるムービークリップ a_mc の持っている play メソッドを使わせてもらう”ということを正確に指定する意味で、

 _root.a_mc.play();

となるわけです。


ここではややこしくなりますので触れませんが、ターゲットパスにはいろいろな書き方があります。
実は、自分が持っているものであれば省略も可能です。
this や _parent といった相対的な表現で、自分のものや1つ上の階層が持っているものを指定することもできます。

ターゲットパスは ActionScript では大切な考え方ですから、しっかり研究してください。
    • good
    • 0
この回答へのお礼

大変細かくすばらしい返答ありがとうございました!
頑張ってこれからも勉強したいとおもいます!!

お礼日時:2006/06/29 06:21

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