[英]CreateJS Container recursion loop for nested Objects
我是一名ActionScript开发人员,最终涉足HTML5和JavaScript。 我使用CreateJS是因为它以使像我这样的人更容易过渡而闻名。 我正在尝试创建一个递归循环,以让我知道我舞台上有哪些嵌套对象。 我显然还不在那里。 有人可以帮我指出我要去哪里了吗? 谢谢。
recur(exportRoot);
function recur(thisContainer)
{
console.log("recur()");
for(var i=0; i<thisContainer.getNumChildren; i++)
{
console.log(thisContainer.getChildAt[i]);
if(thisContainer.getChildAt[i].getNumChildren !== null && thisContainer.getChildAt[i].getNumChildren !== isNaN())
{
recur(thisContainer.getChildAt[i]);
}
}
}
与其使用getNumChildren
来查看孩子是否是一个容器, getNumChildren
使用它:
var child = thisContainer.getChildAt[i];
if ( child instanceof createjs.Container ) {
recur(child);
}
easyljs-0.8.1的更新:
private loopContaneir(objDisplay) {
for (var i= 0; i < objDisplay.numChildren; i++) {
var child = objDisplay.getChildAt(i);
if (child instanceof createjs.Container) {
loopContaneir(child);
}
}
}
似乎我最大的问题之一是我试图使用getNumChildren
(不存在的属性)而不是getNumChildren()
(方法)。 我现在已经使其正常工作,部分感谢@olsn建议使用instanceof
。
recur(exportRoot);
function recur(thisContainer)
{
console.log("recur()");
var containerLength = thisContainer.getNumChildren();
var thisChild;
for(var i=0; i<containerLength; i++)
{
thisChild = thisContainer.getChildAt(i);
console.log(thisChild);
if(thisChild instanceof createjs.Container)
{
recur(thisChild);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.