我正在加载许多图片,并且正在使用数组来执行此操作.
loader[i].load(new URLRequest(picture[i]));
Run Code Online (Sandbox Code Playgroud)
我的事件监听器功能启用如下:
loader[i].contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
Run Code Online (Sandbox Code Playgroud)
我的onComplete事件处理程序显示了这个:
trace(e.target); //OUTPUT: [object LoaderInfo]
Run Code Online (Sandbox Code Playgroud)
我在LoaderInfo中查找了可能识别哪个加载器启动了监听器("i"的值)的属性,这样我就可以专门用于每个加载器,如下所示:
bitmapDataArr[i] = e.target.content.bitmapData;
bmVisArr[i] = new Bitmap(bitmapDataArr[i]);
Run Code Online (Sandbox Code Playgroud)
但无法确定哪个"i"启动了侦听器的特定实例.
有任何想法吗?我试着给LoaderInfo一个名字无济于事.我仍然无法提取讨厌的小识别号码.
EDIT显示加载器和onComplete函数的循环:
for (i = 0; i < 10; i++) {
loader[i] = new Loader();
loader[i].contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
loader[i].load(new URLRequest(letter[i]));
}
private function onComplete(e:Event):void {
trace("e.target",e.target); //OUTPUT: e.target [object LoaderInfo]
var LI:LoaderInfo = e.target as LoaderInfo;
var eNum:int = (????);
bitmapDataArr[eNum] = e.target.content.bitmapData;
bmVisArr[eNum] = new Bitmap(bitmapDataArr[eNum]);
}
Run Code Online (Sandbox Code Playgroud) 假设,我有一个有 437 个案例的开关。我已经确定了所有可能的案例(我认为),并且每个案例都得到了处理。我担心我错过了#438,并希望默认值中的某些内容提醒我这一点。
我可以放一个
trace("ERROR! Stackoverflow has detected your ginormous gaffe and suspended your account indefinitely!");
Run Code Online (Sandbox Code Playgroud)
在那里,但我担心这个错误会在 7 周后发生,并且该跟踪将在我所有其他愚蠢的警告跟踪中丢失。我考虑过让我的 Default 这样做:
trace(myArray[-1]);
Run Code Online (Sandbox Code Playgroud)
这肯定会(?)给出错误并停止程序,提醒我我可怕的疏忽,但我想知道是否有更好,更聪明的方法来检测这样的可能错误。
任何人?布勒?