如何用字符串调用对象实例名称? AS3

时间:2013-12-03 20:52:05

标签: actionscript-3

    private function DropFunc (e:MouseEvent):void

    {

        if(e.currentTarget.hitTestObject(Object (e.currentTarget + "Target")))
        {
            trace("good")
        }
        else{

        e.currentTarget.x = startPosX;
        e.currentTarget.y = startPosY;
        e.currentTarget.stopDrag();
        }

    }

我需要在hittest对象中调用名为currentTarget + Target的对象,我该怎么办?

我是新手...... 对不起愚蠢的问题:X

2 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题/代码示例,则您尝试按名称动态访问实例。

您需要将其作为父级的属性进行访问,而不是尝试将其强制转换为Object

private function DropFunc (e:MouseEvent):void
{

    if(e.currentTarget.hitTestObject(this[e.currentTarget.name + "Target"]))
    {
        trace("good")
    }
    else{

    e.currentTarget.x = startPosX;
    e.currentTarget.y = startPosY;
    e.currentTarget.stopDrag();
    }

}

上面的示例假设this是实例名称为e.currentTarget.name + "Target"的对象的父级。

答案 1 :(得分:0)

您可以通过以下方式使用字符串调用对象的属性。

objectInstance["property"]