我有一个图库,它会在上一个图像加载后加载图像,所以每次'i'将+1,以便它可以移动到下一个图像。这段代码在我的其他文件上工作正常,但我不知道为什么它对当前文件不起作用。
通常,如果我追踪'我',那么正确
0,1,2,3,4,5,6... etc
添加到极限,但是这个文件'i'重复第一个数字两次,只是继续添加
0,0,1,2,3,4,5,6...etc
代码与我正在使用的其他文件完全相同,但我不知道为什么它在这里不起作用。代码似乎没有任何问题。无论如何,我可以解决这种情况吗?
private var i:uint=0;
private function loadItem():void {
if (i<myXMLList.length()) {
loadedPic=myXMLList[i].thumbnails;
galleryLoader = new Loader();
galleryLoader.load(new URLRequest(loadedPic));
galleryLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,picLoaded);
} else {
adjustImage();
}
}
private function picLoaded(event:Event):void {
var bmp=new Bitmap(event.target.content.bitmapData);
bmp.smoothing=true;
bmpArray.push(bmp);
imagesArray[i].addChild(bmp);
i++;
loadItem();
}
答案 0 :(得分:1)
该代码看起来很好,很难说出可能导致这种情况的原因。我能给你的最好建议是设定一些断点;例如,在将事件侦听器添加到galleryLoader对象的位置设置一个,然后运行Flash的调试器。您可以通过调试&gt;运行它。调试电影。
调试器将在该行停止,当您逐行执行代码时,您将能够查看变量窗口以查看i
变量。您可以在调试控制台窗口中按按钮按钮单步执行。我在下面放了一个图片,显示调试器的特定窗口(在Flash中你不会看到任何其他时间):
alt text http://rookery9.aviary.com.s3.amazonaws.com/3518000/3518019_1ab3_625x625.jpg
我认为通过这样做(如果你还没有尝试过,那就是),你应该很快就能看到出了什么问题。希望它无论如何都有帮助。
得不
答案 1 :(得分:0)
我终于发现了这个问题。
public function grid():void {
addEventListener(Event.ADDED_TO_STAGE, add2Stage);
}
private function add2Stage(event:Event):void {
myLoader=new URLLoader();
myLoader.load(new URLRequest(galleryXML));
myLoader.addEventListener(Event.COMPLETE,processXML);
}
因为我正在使用添加功能来进行舞台演出。删除add2stage函数后,一切都很好。但为什么它会影响并在第一次运行该函数两次?我只是将它添加到舞台上以获得舞台宽度。