Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 条件在AS3中不起作用(额外的站点不允许我发布)_If Statement_Actionscript 3 - Fatal编程技术网

If statement 条件在AS3中不起作用(额外的站点不允许我发布)

If statement 条件在AS3中不起作用(额外的站点不允许我发布),if-statement,actionscript-3,If Statement,Actionscript 3,我有一个非常直截了当的if语句 var mynum:Number = 0; var myclip:MovieClip = new thisclass(); addChild(myclip); 在类文件中 var i:int = 0; for (i; i<stage.numChildren; ++i) { if (stage.getChildAt(i) is thisclass) { trace("true"); } } var i:int=0; 对于(i;

我有一个非常直截了当的if语句

var mynum:Number = 0; 
var myclip:MovieClip = new thisclass();
addChild(myclip);
在类文件中

var i:int = 0;
for (i; i<stage.numChildren; ++i)
{
  if (stage.getChildAt(i) is thisclass)
  { trace("true"); }
}
var i:int=0;

对于(i;i通过使用父级而不是阶段解决了问题,不确定它为什么不喜欢阶段

可能有两个问题。1.通常情况下,您不会直接使用阶段。除非您明确说明阶段,否则您不会使用它。例如,如果您在主时间轴上编写脚本,则您在根目录中,而不是在阶段上。2。如果在类构造函数中处理stage或root,则会出现错误,因为构造函数在new语句之后执行,在new之后的下一行之前执行。因此,在类构造函数中,您无法访问stage或root。您应该先侦听添加的_to_stage事件。@Organi根据此代码的外观,它是在是的,层次结构应该是stage->root->MC。因为stage不是this类的直接父级。
getChildAt()
不会遍历整个显示树,它只遍历该树的当前节点。您从
stage
调用它意味着您需要根节点,好吧,但您的实例不是根节点的直接父节点。您应该检查
myclip.parent
以了解应该列出哪些内容来查找它。