• 締切済み

rootに置いたボタン名を拾いたい

rootに置いたボタンオブジェクト名を拾いたいと思っています。 ですが、 on(press){ sendcheck(this._name); } として別の場所に送った場合、値はrootの値になってしまいますよね。 これを、そのボタンの名前、もしくはFLASH上のIDのようなものが拾えればと思っています。 こういった場合、FLASHの考え方上、やはり入れ子にしておかないとだめのでしょうか(入れ子にしてあるものだと、拾えるんですよねえ・・。) よろしくお願いいたします。

みんなの回答

  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

ボタンの場合は、on アクションの中と on*** = function ・・・の中とでは、this の指すターゲットが違うようです。 例えば、ボタンの名前を btn として、メインのタイムラインに  btn.onPress = function()  {   trace( this._name );  }; このように定義すると、ボタンの名前(この例では btn )が表示されます。 しかし、btn に  on(press)  {   trace( this._name );  } と書いても、何も表示されません。 Flash MX 以降では、ムービークリップをボタンと同様に利用できます。 ムービークリップであれば、on アクションの中でも this はムービークリップ自身を指します。 Flash の仕様のおかしな点に依存するのが何でしたら、ボタンではなくムービークリップにしてみてはいかがでしょうか。

akira_
質問者

お礼

DPEさん、いつもありがとうございます、お返事遅れちゃってすいません。 そうですね、やはりはじめからそうするしかないですよね。これが実現できるのであれば、行程を少なく出来たのですが・・。FLASHの仕様的なものなのでしょうがないですよね。 どうも、ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A