FLASH インスタンス名

FLASHをいじりたくなって始めたがいきなりインスタンスから他のインスタンスへ命令を渡すのに引っかかってずっと頭を抱えていたのだが解決した。

ターゲットパスもあっているのに、gotoAndPlayが動作しなかった。

hoge-hage」と名付けたインスタンスの「label1」から再生する命令文。

on (release) {
	_root.hoge-hage.gotoAndPlay("label1");
}

問題はインスタンス名「hoge-hage」だった。
どうやらFlash MX 2004では"-"はインスタンス名につけてはいけないようだ。

hoge_hage」としたら正しく動作した。

参考:
http://homepage3.nifty.com/ginga-b/MX/symbltype.html
スクリプトでの制御を受け付ける場合には、インスタンスを特定するために、同一階層内でユニークな(他と重ならない)インスタンス名をつける必要があります。インスタンスを選択し、[ プロパティインスペクタ ] で指定します。半角英数字とアンダースコア( _ )(最初の文字は英字のみ)だけを使用してつけることをお勧めします。インスタンス名の後ろに接尾辞 '_btn ' をつけると、スクリプト入力時にコードヒントが表示されるようになります。
ActionScriptでは、ほとんどの場合、英字の大文字と小文字を区別しません。'btn1' と 'BTN1' は同じものと判断されます。また、ムービークリップや変数(「変数」参照)、関数(「関数」参照)と同じ名前をつけることもできませんので注意してください。