flash - 在AS3中识别DisplayObjectContainer中的MovieClip

标签 flash actionscript-3 movieclip flashdevelop displayobject

在ActionScript 3中,如果我遍历影片剪辑的子级,它将返回DisplayObjectContainer,它是DisplayObject的列表。

但是,AS3 typeof无法识别MovieClip,因为MovieClip现在是对象,而不是数据类型。如何正确识别MovieClip?

我在网上找到3个解决方案:

解决方案1(我正在使用的解决方案):

First set the MovieClip name to a specific name, then in the iterate process, check the name of children using child.name.indexOf("specificName") > -1



解决方案2:

use child.hasOwnProperty("numChildren") to identify a MovieClip



解决方案3:

use 3rd party plug-in like FlashDevelop



哪种解决方案是最好的?还是有其他选择?

最佳答案

实际上,它在AS3中得到了很大的改进和简化。您可以简单地使用“is”运算符:

for(var i:int = 0; i < containerObj.numChildren; i++) {
    if(containerObj.getChildAt(i) is MovieClip) {
        // do something
    }
}

Flash livedocs for this topic有更多详细信息。

关于flash - 在AS3中识别DisplayObjectContainer中的MovieClip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1647674/

相关文章:

actionscript-3 - 访问 protected 或私有(private)属性(property)

actionscript-3 - As3 如何翻转影片剪辑以面向运动方向?

arrays - 为什么 AS3 在 for 循环中创建新实例?

javascript - html 多文件选择和队列(添加/删除)

file-upload - 文件上传和 swf 转换工具 - 类似于幻灯片共享

javascript - Javascript 和 Flash/ActionScript 之间的交互无需外部接口(interface)?

actionscript-3 - 如何在旋转的 tilemap 中查找屏幕边界的 tile 索引?

actionscript-3 - AS3 MovieClip getRealBounds

javascript - JavaScript 能否捕获由页面对象触发的 404 错误?

flash - Action 3 init()