AS3でリンケージクラスを使うときはpublicにしないと使えない

※超当たり前のことなのでスルーしてください。

AS3でmcをリンケージするとき、方法としては2つあって、(1)アニメーションなどを設定したmcをスクリプトで呼び出す場合、(2)MovieClipを継承したクラスを設定して、それをライブラリのmcシンボルに当ててスクリプトで呼び出す場合、です。

(1)アニメーションなどを設定したmcをスクリプトで呼び出す場合

AS3でリンケージ
・ライブラリのmcシンボルを右クリックして「Actionscriptに書き出し」にチェックします。
・「クラス」の設定部分で適当な名前をつけます(ここではTestMC1)。
・スクリプトで「var m:MovieClip = new TestMC1();addChild(m)」などと書きます。

(2)アニメーションなどを設定したmcをスクリプトで呼び出す場合

AS3でリンケージ
・ライブラリのmcシンボルを右クリックして「Actionscriptに書き出し」にチェックします。
・「クラス」の設定部分でクラスの名前をつけます(ここではTestClass1)。
リンケージしたいクラスをpublic Classにします
・スクリプトで「var m:MovieClip = new TestClass1();addChild(m)」などと書きます。
クラスの例:

package{
import flash.display.MovieClip
public class TestClass1 extends MovieClip{
function TestClass1(){}
}
}

public class にしないと 1180 エラー(未定義である可能性が高いメソッド TestClass1 の呼び出しです)が出てしまいます。コンストラクタは public function にしなくてもOK。
しかし、リンケージクラスがメソッドを使いたいときは、public function にしないといけません。しないと 1069 エラー(TestClass1 にプロパティ testFunc が見つからず、デフォルト値もありません)が出ます。

この記事には、カテゴリ AS3 タグは , がつけられています。