表示オブジェクトの「name」プロパティとgetChildByName("XXX")関数で検出された値の違いを説明できる人はいますか? 90% の確率で同じですが、そうではなくなり、バラバラになります。
たとえば、次のコードでは、子の name プロパティを直接調べることによってのみ、インスタンス名でオブジェクトを見つけます。getChildByName()は失敗します。
var gfx:MovieClip = new a_Character(); //(a library object exported for Actionscript)
var do1:DisplayObject = null;
var do2:DisplayObject = null;
for( var i:int = 0 ; i < gfx.amSword.numChildren ; i++ )
{
var child:DisplayObject = gfx.amSword.getChildAt(i);
if( child.name == "amWeaponExchange" ) //An instance name set in the IDE
{
do2 = child;
}
}
trace("do2:", do2 );
var do1:DisplayObject = gfx.amSword.getChildByName("amWeaponExchange");
次の出力が生成されます。
do2: [object MovieClip]
ReferenceError: Error #1069: Property amWeaponExchange not found on builtin.as$0.MethodClosure and there is no default value.
Flash が考えているアイデアはありますか?