如何克服隐性强制? (投射到自定义类)

时间:2014-07-04 17:03:56

标签: actionscript-3 flash casting

我有一个扩展Sprite类的类(使其成为DisplayObject),我已将其作为子项添加到stage进行可视化:stage.addChild(object)

我想通过在舞台上引用它并使用它(stage.getChildByName(object))来对这个对象进行更改,但是现在我从舞台接收的对象是类型{{1 }}。如果我确定从舞台上收到的这个对象属于我的班级 - 我能不能以某种方式将displayObject投射到我的班级?

1 个答案:

答案 0 :(得分:2)

在AS3中以2种方式进行投射。

你可以做一个合适的演员:

MyClass(object)

如果演员表失败,这将抛出错误。

您还可以使用as关键字:

object as MyClass;

如果转换失败,这将返回null。


您需要注意,getChildByName不接受对象,而是接受字符串(对应于显示对象的.name(或实例名称)值。如果您已经有引用object,然后无需从stage.getChildByName

查找