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"は、
そのまま書いて参照できるようです。
一つ勉強になりました。