ActionScript 2.0: 2008年3月アーカイブ

いまさらながら、イベントハンドラメソッド定義でのターゲット指定を全然理解していなかった。
イベントハンドラメソッド内は、そこはもう別の世界なんだと理解。

3つのボタンがあり、それぞれロールオーバーしたときに、それぞれの中でgotoAndPlayする、というものを作るばあい、

間違った例 : tgtMC.gotoAndStop("over")

for (var i = 0; i<3; i++) { var tgtMC = this["menu"+i]; tgtMC.onRollOver = function() { initButtons(); tgtMC.gotoAndStop("over"); }; }


正しい例 : this.gotoAndStop("over")


for (var i = 0; i<3; i++) {
var tgtMC = this["menu"+i];
tgtMC.onRollOver = function() {
initButtons();
this.gotoAndStop("over");
};
}

ここを読んでみて、わかったようなわからないような。というかthisが本当にわけわからない。
逆に、これを記述したフレームのメソッド(initButtons())を、イベントハンドラメソッド内から使う場合、あたりまえにthisから始めると認識されない。

このアーカイブについて

このページには、2008年3月以降に書かれたブログ記事のうちActionScript 2.0カテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ActionScript 2.0: 月別アーカイブ