actionscript-3:检查movieClip是否存在

actionscript-3:检查movieClip是否存在,actionscript-3,Actionscript 3,我用以下代码创建了一个movieclip: var thumbContainer:MovieClip = new MovieClip(); thumbContainer.name = "thumbContainer"; stage.addChild (thumbContainer); 如果窗户变大/变小,我希望所有东西都恢复原位。所以我有一个舞台事件监听器。现在,我想看看这个mc是否存在,是否可以放回原位。我尝试过不同的方法,但不断得到一个不存在的错误 1120:访问未定义的属性thumbCo

我用以下代码创建了一个movieclip:

var thumbContainer:MovieClip = new MovieClip();
thumbContainer.name = "thumbContainer";
stage.addChild (thumbContainer);
如果窗户变大/变小,我希望所有东西都恢复原位。所以我有一个舞台事件监听器。现在,我想看看这个mc是否存在,是否可以放回原位。我尝试过不同的方法,但不断得到一个不存在的错误

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

if (this.getChildByName("thumbContainer") != null) {
 trace("exists")
}

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

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

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

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

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


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

问题是“舞台”和“这个”不一样……这就是为什么我不能和主持人交谈的原因。 这项工作:

var thumbContainer:MovieClip = new MovieClip();
thumbContainer.name = "thumbContainer";
addChild (thumbContainer);
if (getChildByName("thumbContainer") != null) {
    trace("exists")
}

问题是“舞台”和“这个”是不一样的……这就是为什么我不能和主持人交谈的原因。 这项工作:

var thumbContainer:MovieClip = new MovieClip();
thumbContainer.name = "thumbContainer";
addChild (thumbContainer);
if (getChildByName("thumbContainer") != null) {
    trace("exists")
}

如果您在发射错误时遇到问题,您可以随时尝试捕获

try{
  /// do something that will blow up...
}catch( e:Error ){
  trace( "we had an error but its not fatal now..." );
}

如果您在发射错误时遇到问题,您可以随时尝试捕获

try{
  /// do something that will blow up...
}catch( e:Error ){
  trace( "we had an error but its not fatal now..." );
}

我的支票有效,所以我可以检查mc是否存在,但现在我想用它做点什么。此(实例名称)无效:var thumbContainer:MovieClip=new MovieClip();thumbContainer.name=“测试”;thumbContainer.x=10;stage.addChild(thumbContainer);如果(this.getChildByName(“test”)==null){trace(“something”);//有效!this.getChildByName(“test”).x=10;//无效!stage.test.x=10;//无效!}那么我的检查有效,因此我可以检查mc是否存在,但现在我想对它做些什么。此(实例名称)无效:var thumbContainer:MovieClip=new MovieClip();thumbContainer.name=“测试”;thumbContainer.x=10;stage.addChild(thumbContainer);如果(this.getChildByName(“test”)==null){trace(“something”);//有效!this.getChildByName(“test”).x=10;//无效!stage.test.x=10;//无效!}您应该将Amarghosh标记为正确答案,因为您的解决方案基于他的答案。发布完整的解决方案以展示您如何解决最初描述的问题是可以的。但通常情况下,你会将自己标记为答案的作者,因为它实际上是基于另一个答案,这有助于你找到解决方案。所以如果没有,你会被卡住。因此,请相信原作者,即使他没有提供您需要的确切行数-这显然是不可能的,因为我们都没有您的完整代码。您应该将Amarghosh标记为正确答案,因为您的解决方案基于他的答案。发布完整的解决方案以展示您如何解决最初描述的问题是可以的。但通常情况下,你会将自己标记为答案的作者,因为它实际上是基于另一个答案,这有助于你找到解决方案。所以如果没有,你会被卡住。因此,请相信原作者,即使他没有提供您需要的确切行数-这显然是不可能的,因为我们都没有您的完整代码。经过大量研究,只有此解决方案对我有效:)经过大量研究,只有此解决方案对我有效:)
try{
  /// do something that will blow up...
}catch( e:Error ){
  trace( "we had an error but its not fatal now..." );
}