1

嘿,伙计们,我这里有一些代码,可以从一个文件中随机抽取 50 张图像并将它们推送到一个数组中。我现在需要从数组中随机抽取 350 次。我正在使用计时器代替 for 循环来从数组中获取图像。只要我不使用数组并且直接从文件中循环图像,我的代码就可以正常工作。但这是非常缓慢和糟糕的形式。我想我可以做除了数组的 .load 之外的所有事情。我似乎无法让它工作。我收到错误消息“#1009:无法访问空对象引用的属性或方法”或“1067:将 Array 类型的值隐式强制转换为不相关的 flash.net:URLRequest”。我想我明白了这些消息的意义,但我似乎无法弄清楚如何将 URLRequests 拉出数组。请,

var imgLoader:Loader; 
var imgSource:URLRequest; 
var imgArrayer:Array = new Array(); 
var imgNum:uint; 
var timer1Count:uint; 
var thumbFade:Tween; 
var layerCount:uint = 0;  



for(var i:uint = 0; i < 50; i++) {
    imgNum = Math.random() * _imgCount;
    imgSource = new URLRequest("thumbsFinal/img"+imgNum+".jpg"); 
    imgArrayer.push(imgSource);
}


var myTimer:Timer = new Timer(_imgTrTime, _imgTrInt); 
    myTimer.addEventListener(TimerEvent.TIMER, timedFunction);
    myTimer.start();


function timedFunction(e:TimerEvent):void{
    imgLoader.load(imgArrayer);
    thumbFade = new Tween(imgLoader, "alpha", Regular.easeIn, _thumbFaderB, _thumbFaderF, _thumbFaderSpd, true);
    addChildAt(imgLoader, layerCount);
    imageAdjust();
    timer1Count++;
    layerCount++;


        if(timer1Count == _scrnFadeTimer) {
            screenFade();
        }
        else if(timer1Count == _txtDeploy){
            textTween();
        } 
}
4

1 回答 1

1

这一点可能是:

for(var i:uint = 0; i < 50; i++) {
    imgNum = Math.floor(Math.random() * _imgCount); 
    imgSource = new URLRequest("thumbsFinal/img"+imgNum+".jpg"); 
    imgArrayer.push(imgSource);
}

拉 350 次的位是:

imgLoader.load(imgArrayer[Math.floor(Math.random() * (imgArrayer.length))]);

在那个计时器中调用了 350 次

于 2010-02-16T23:56:17.077 回答