Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Arrays 获取添加的特定子级的数组_Arrays_Actionscript 3_Loops_Children - Fatal编程技术网

Arrays 获取添加的特定子级的数组

Arrays 获取添加的特定子级的数组,arrays,actionscript-3,loops,children,Arrays,Actionscript 3,Loops,Children,我正在使用以下数组将子对象添加到阶段: for(var i=0;i<6;i++) { var aCherry=new cCherry() aCherry.y=10 aCherry.x=10+100*i stage.addChild(aCherry) } for(var i=0;i基于使用getChildByName()查找您的cCherry类实例的愿望,以下是我对代码外观的建议。请注意,我在示例中将类名更改为Cherry(我建议这样做,因为将类名大写是3约

我正在使用以下数组将子对象添加到阶段:

for(var i=0;i<6;i++) {
    var aCherry=new cCherry()
    aCherry.y=10
    aCherry.x=10+100*i
    stage.addChild(aCherry)
}

for(var i=0;i基于使用getChildByName()查找您的cCherry类实例的愿望,以下是我对代码外观的建议。请注意,我在示例中将类名更改为Cherry(我建议这样做,因为将类名大写是3约定)。此外,使用分号结束语句是一种很好的做法。虽然分号通常是可选的,但在某些情况下,省略分号可能会导致很难跟踪运行时错误,因此我建议养成使用它们的习惯。我还建议在所有变量声明中包含类型,例如,var aCherry:Cherry例如

var i:int;
for(i=0; i<6; ++i)
{
    var aCherry:Cherry=new Cherry(); // Note, it's my recommendation that you rename cCherry class to Cherry (convention)
    aCherry.y=10;
    aCherry.x=10+100*i;
    aCherry.name = "aCherry" + String(i); // String() cast for clarity only, not necessary
    stage.addChild(aCherry);
}
vari:int;

对于(i=0;iIs),绝对有必要为它们指定名称?难道不可能仅根据它们的类名获取数组吗?如果不指定代码生成的实例名称,它们将具有默认名称,如“instance1”、“instance2”没有内置的方法来获取给定类的所有子类的数组,尽管没有什么可以阻止您编写一个函数来循环所有子类并用“is”检查它们的类型和返回一个类型的所有子类型的数组。显然,如果存在其他类型的子类型,这比在创建时命名它们或保存对它们的引用数组效率要低,但除非有数百个子类型,否则这可能可以忽略不计。+1表示引用数组。@Anonymous在初始循环期间只需按一下即可每个人都将樱桃创建成一个数组。@克里斯-是的,我可能不应该把这个建议隐藏在后续评论中,因为这是我个人唯一会使用的方法。维护樱桃引用数组是一种节省内存的方法,数组查找比按名字搜索子对象快得多。
var i:int;
for(i=0; i<6; ++i)
{
    var aCherry:Cherry=new Cherry(); // Note, it's my recommendation that you rename cCherry class to Cherry (convention)
    aCherry.y=10;
    aCherry.x=10+100*i;
    aCherry.name = "aCherry" + String(i); // String() cast for clarity only, not necessary
    stage.addChild(aCherry);
}
var cherryLetter:Array=[1,0,0,0,0,0];
for(i=0; i<6; ++i)
{
    var cherry:Cherry = stage.getChildByName("aCherry" + String(i)) as Cherry;
    if(cherry && cherryLetter[i]) cherry.y += 90;
}