[AS]TextField.textにNumber型のデータをStringにキャストせずに入れる方法

通常テキストフィールドのtextプロパティにはString型のデータを入れなくてはならない。
以下のように書くとエラーとなるのは既知。

//FlashIDEでのメインタイムラインにダイナミックテキストを配置
//インスタンス名:_txt

//メインタイムラインフレームアクション
_txt.text = 1000;

1067: 型 int の値が、関連しない型 String に暗黙で型変換されています。

ここでエラーにならず代入できちゃうケースがあることに気付いた。
やりかたは簡単TextFieldをMovieClipでラップする。

//FlashIDEでのメインタイムラインにMovieClipを配置
//インスタンス名:_mc
//_mcのタイムラインにTextFieldを配置
//インスタンス名:_txt

//メインタイムラインのフレームアクション
_mc._txt.text = 1000;

これはエラーにならずにTextFieldにちゃんと文字が表示される。
ちょっと気持ちわるい。

[AS]TypeError: Error #1006: frame1 は関数ではありません。 at _fla::MainTimeline/frame1()、となった場合の対処方法

MovieClipにおいて、特定のフレームのフレームアクションを実行することができるメソッドがあります。
任意のフレームのスクリプトを実行:frame + “フレーム数” + ();

たとえば、ステージに_mcというインスタンス名でMovieClipが配置してある場合。
(_mcには1,2,3フレームにスクリプトが書いてある)
frame+フレーム数というメソッドを実行することができます。

//_mc:ステージに配置してあるMovieClipインスタンスで
//1,2,3フレームにスクリプトが書いてあり、内容は以下の通り
//1フレーム目には、trace("_mc 1フレーム");
//2フレーム目には、trace("_mc 2フレーム");
//3フレーム目には、trace("_mc 3フレーム");

_mc.frame1(); //出力:_mc 1フレーム
_mc.frame2(); //出力:_mc 2フレーム
_mc.frame3(); //出力:_mc 3フレーム

このとき以下のようなエラーが発生するときがある。

TypeError: Error #1006: frame1 は関数ではありません。
at _fla::MainTimeline/frame1()

このときの原因の一つは、実行対象のMovieClipにリンケージ指定されているということ。
リンケージ指定した状態で、任意のフレームのスクリプトを実行しようと上記のようなエラーになるらしい。

また、動的に生成したMovieClipインスタンスについても、addFrameScript()メソッドでフレームにスクリプトを追加した場合についても、同じ結果になるようす。

以下、例

var mc:MovieClip = new MovieClip();
addChild(mc);
//ムービークリップの1フレーム目にファンクション:testを追加
mc.addFrameScript(0,test);
function test():void{
	trace("mc script")
}
mc.frame1()//上記のようなエラーが発生する

ということは、動的に生成したmcにaddFrameScript()でファンクションを追加しても実行する術はないということ!?
まぁ理由はわからないけどそんな挙動をするみたい。
まぁ、こんなのそうそう使わないけども。