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"は、
そのまま書いて参照できるようです。


一つ勉強になりました。