【问题标题】:Check if a child exists检查孩子是否存在
【发布时间】:2017-10-24 22:37:16
【问题描述】:

我有两个场景。在场景1中,有一个使用addChild(nameObject);自动添加孩子的脚本,还有一个按钮进入下一个场景。

当我从场景 2 回到场景 1 时,代码会生成另一个对象。如何制作一个 AS3 脚本来检查孩子是否已经存在于舞台上?

【问题讨论】:

标签: actionscript-3 flash-cs6 addchild


【解决方案1】:

您很可能正在寻找DisplayObjectContainercontains() 方法:

判断指定的显示对象是否是 DisplayObjectContainer 实例或实例本身。搜索 包括整个显示列表,包括这个DisplayObjectContainer 实例。孙子,曾孙,等等每次返回 true.

if ( !contains(nameObject) ) {
    // the object is not a child of the container
    addChild(nameObject); 
}

【讨论】:

  • 这是一个很好的答案,但我建议(因为潜在的父母是已知的),只做if(nameObject.parent != this) 会更有效,因为这样你就不会进行递归搜索通过所有孩子。
  • @BadFeelingAboutThis 它不起作用,对象不断添加到舞台
猜你喜欢
  • 2016-09-18
  • 2011-11-25
  • 2016-09-20
  • 2010-12-06
  • 2013-05-09
  • 1970-01-01
  • 2017-02-25
  • 2017-04-27
  • 1970-01-01
相关资源
最近更新 更多