首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >actionscript-3:检查movieClip是否存在

actionscript-3:检查movieClip是否存在
EN

Stack Overflow用户
提问于 2010-02-17 16:56:37
回答 3查看 15.7K关注 0票数 1

我创建了一个用以下代码创建的电影:

代码语言:javascript
复制
var thumbContainer:MovieClip = new MovieClip();
thumbContainer.name = "thumbContainer";
stage.addChild (thumbContainer);

如果窗口变大/变小,我要把所有东西都放回原处。所以我有一个舞台事件听者。现在我想看看这个mc是否存在以恢复原状。我尝试过不同的方法,但是不断地得到一个不存在的错误。

1120:未定义属性thumbContainer.的访问

代码语言:javascript
复制
if (this.getChildByName("thumbContainer") != null) {
 trace("exists")
}

代码语言:javascript
复制
if ("thumbContainer" in this) {
 trace("exists")
}

代码语言:javascript
复制
function hasClipInIt (mc: MovieClip):Boolean {
 return mc != null && contains(mc);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-17 17:08:41

代码语言:javascript
复制
stage.addChild (thumbContainer);
//...
if (this.getChildByName("thumbContainer") != null) 

您正在将thumbContainer添加到stage中,并使用this检查它是否存在。将stage更改为this或将this更改为stage

也就是说,更合适的方法是保留对添加的电影剪辑的引用,并使用包含方法检查是否存在。它确定指定的显示对象是DisplayObjectContainer实例的子实例还是实例本身。搜索包括整个显示列表,包括这个DisplayObjectContainer实例、孙辈、曾孙等等。

因此,您可以轻松地使用stage.contains(thumbContainer);进行检查。

票数 6
EN

Stack Overflow用户

发布于 2010-02-23 17:34:40

如果您在触发错误时遇到困难,则可以随时尝试捕捉。

代码语言:javascript
复制
try{
  /// do something that will blow up...
}catch( e:Error ){
  trace( "we had an error but its not fatal now..." );
}
票数 2
EN

Stack Overflow用户

发布于 2010-02-18 00:06:54

问题是‘舞台’和‘这’是不一样的.这就是为什么我不能和主持人说话。这样做是可行的:

代码语言:javascript
复制
var thumbContainer:MovieClip = new MovieClip();
thumbContainer.name = "thumbContainer";
addChild (thumbContainer);
if (getChildByName("thumbContainer") != null) {
    trace("exists")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2282657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档