インスタンスメンバーとクラスメンバー
インスタンスメンバーはインスタンス化(new SampleClass();)したクラス内の変数。
クラスメンバーは直接クラスを呼んだときの変数(SampleClass.testNum)。
当たり前のことは当たり前なんですが、AS2からAS3に移行するとき、どこにも書いてないんだけどメッチャ大事なのが変数のスコープ問題です。
AS2では _root.testNum でアクセスできたものは、入れ子になったmcからも同じようにアクセスできました。
AS3では rootに変数を置くことはナンセンスとされているので、変数の置き場所に困ります。たとえば沢山の入れ子になったmcがいくつもあって、そのどれもが _root に置いた変数 testNum を参照したいとき、それぞれのmcのタイムラインにいちいち _root.testNum と書くのではないということです。
ここでクラスメンバーの登場というわけですね。
どんな深い入れ子になったmcからも、すべて一律に SampleClass.testNum でアクセスできれば、階層を意識する必要はありません。
そのためにはどうするか。
package{ public class SampleClass{ public static var testNum:int; } }
これですべてのmcなどから簡単にアクセスできます。タイムラインだけじゃなく、他のクラスからも同じ。
インスタンスメンバーとどう違うのかというと、インスタンス化してしまうとそのインスタンスごとに testNum という変数が設定され、値を共有できなくなってしまうということですね。
「AS3」「変数」「置き場所」「設置場所」「階層」とかのキーワードで引っかかるようになれば初心者に役立つと思います。