我正在尝试仅选择特定图片时添加孩子。我正在尝试测试添加特定图像的Child(索引)。但由于某些原因,当索引为[0]时,它会添加子项,但如果我将索引设置为[1]则会给出错误参数child必须为非null。 当我在循环中使用index [i] addChild时,它会添加所有2个图像。 想知道为什么我不能选择除[0]之外的任何索引。谢谢你的时间!
public var loadedArray1:Array = new Array;
function loadImage1():void {
for(var i:int = 5; i < somedata.length; i++){
if(somedata[i]){
var loader1:Loader = new Loader();
loader1.load(new URLRequest("http://www.rentaid.info/rent/"+somedata[i]));
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded1);
}
}
}
function onImageLoaded1(e:Event):void {
loadedArray1.push(e.target.content);
for(var i:int = 0; i < loadedArray1.length; i++){
_contentHolder1.addChild(loadedArray1[0]);
addChild(_contentHolder1);
}
}
//
loadImage1();
编辑:
What i suppose to do is this but having trouble, getting the index, also putting loading the image with an index.
loadedArray1.push(e.target.content);
for(var i:int = 0; i < loadedArray1.length; i++)
{
_contentHolder1.addChild(loadedArray1[index]);
addChild(_contentHolder1);
}
答案 0 :(得分:3)
尝试更换:
_contentHolder1.addChild(loadedArray1[0]);
使用:
_contentHolder1.addChild( loadedArray1[i] );
onImageLoaded中的for循环似乎有点无意义,因为你一遍又一遍地添加相同的元素。
所以实际上尝试更换:
loadedArray1.push(e.target.content);
for(var i:int = 0; i < loadedArray1.length; i++)
{
_contentHolder1.addChild(loadedArray1[0]);
addChild(_contentHolder1);
}
使用:
loadedArray1.push(e.target.content);
_contentHolder1.addChild( loadedArray1[loadedArray1.length-1] );
// Use counter here to only add _contentHolder1 once
loadedCount++;
//Assuming that `samedata` is a class member (I can't see the rest of your code)
if( loadedCount == somedata.length ){
addChild(_contentHolder1);
}
在课程开始时你需要这个:
private var loadedCount:int = 0;