将显示对象转换为自定义类对象

时间:2011-06-27 08:44:39

标签: flash actionscript-3

请问如何将对象转换为其他类型?在AS3中,我尝试将(objectType)放在变量的前面,但它不起作用,下面我已经将鱼的对象添加到了孩子中,并且当触发鼠标时我正在将鱼退回,然后调用鱼来做什么。但是我不能调用自定义类fish的方法,因为它是一个displayobject。

private function onMouseDownTriggered(e:MouseEvent):void
{
    var food:Food = new Food(this, _stageRef.mouseX, _stageRef.mouseY);
    for (var i :int = 0; i < this.numChildren; i++)
    {
        var fish : fish= this.getChildByName("fish" + i);
        fish.getFood(food);
    }
}

1 个答案:

答案 0 :(得分:3)

AS3中的演员阵容可以通过以下方式实现:

var fish:Fish = Fish(this.getChildByName("fish" + i));

or

var fish:Fish = this.getChildByName("fish" + i) as Fish

请记住,第一个强制转换符号更具限制性,并且在未满足强制转换限制时会有效地导致运行时异常。

第二种表示法更宽松,不会导致任何运行时异常。 这可能非常容易出错,应小心处理。

干杯