書き物

技術とか作った物の話とか愚痴文句感想など

onEnterFrame内でのパスの扱い

AS2.0の壁として、パスの理解がありました。

特に、"this"が何を指しているのかが分かっていませんでした。


今回分かったことは、

MovieClip.onEnterFrame

内でのパスについてです。


var test:String = "Yes!";
function testFunc():Void {
var fTest:String = "No!";
var scope:Object = this;
_root.onEnterFrame = function() {
for (var i:Number = 0; i < 3; i++) {
trace(fTest);
}
for (var i:Number = 0; i < 3; i++) {
trace(scope.test);
}
}
}

これで実行すると、

No!
No!
No!
Yes!
Yes!
Yes!
.
.

と表示されるはずです。

途中のfor文は、特に気にしなくて結構です。


最初に定義した"test"は、onEnterFrame内では

scope.test

で参照できるようです。

で、testFunc内で定義した"fTest"は、

そのまま書いて参照できるようです。


一つ勉強になりました。