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

标签 flash actionscript-3

请问如何将一个对象转换为另一种类型?在AS3中,我尝试将(objectType)放在变量前面,但它不起作用,下面我将鱼的对象添加到子项中,当触发鼠标按下时,我将鱼返回,然后调用鱼做什么。但是我无法调用自定义类 Fish 的方法,因为它是一个显示对象。

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);
    }
}

最佳答案

AS3 中的强制转换可以通过以下方式实现:

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

or

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

请记住,第一个强制转换表示法具有更多限制,并且在未满足强制转换限制时将有效地导致运行时异常。

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

干杯

关于flash - 将显示对象转换为自定义类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6490427/

相关文章:

flash - BitmapData.draw clipRect 未按预期工作

actionscript-3 - MovieClip 调整大小,但其子项的高度和宽度没有改变?

android - Adobe AIR 移动应用程序 (iOS/Android) 的空闲计时器

actionscript-3 - Actionscript 3.0 drawRect 工作怪异

actionscript-3 - 加载和卸载多语言 Flex 应用程序的字体

iphone - 通过 Flex 访问 iOS API 的技巧?

apache-flex - 如何设置 s :BitmapFill dynamically? 的来源(Flash Builder,内部代码)

css - 如何使用样式表在 spark numericstepper 上应用图像

actionscript-3 - AS3调用全局函数而没有“new”或具有静态方法

flash - AS3 : move object in its rotation angle