加载问题缩略图

问题描述:

我在加载缩略图时遇到了问题,我设置了每个手指在舞台上加载的时间间隔。他们中有些人不能为了加载顺序,他们缺少,是滞后......加载问题缩略图

其实,我设置一个预加载文件的大小,但因为我从XML动态加载,文件大小更小。

有谁知道一个解决方案来解决这个问题? 这真是错误我虽然......

我用XML文件加载并没有与分析过程中的任何问题。

有时所有缩略图可以在舞台上被加载,如果带宽慢一点它的滞后平均首次拇指被加载,然后它突然跳过第二个缩略图,它加载第三缩略图来代替等等...

有时可以加载整个缩略图...它的怪异

在这里,我设置一个计时器加载每个缩略图

protected static const INTERVAL_TIME:uint  = 1000; 
initLoadTime = new Timer(INTERVAL_TIME); 
initLoadTime.addEventListener(TimerEvent.TIMER, handleLoadedEachThumbnail, false, 0, true); 
initLoadTime.start(); 

protected function handleLoadedEachThumbnail(event:TimerEvent):void 
{ 
var container:MovieClip = new MovieClip(); 

if (currentIndex < tabPhoto.length) { 
thumbnailPositionMC = positionEachThumbnail(); 
container.addChild(thumbnailPositionMC); 
addChild(container); 


currentIndex++; 
} 

if (currentIndex == tabPhoto.length) { 
currentIndex = 0; 
initLoadTime.removeEventListener(TimerEvent.TIMER, handleLoadedEachThumbnail); 
initLoadTime.stop(); 
} 

}

+0

? UILoader的? – Sandro 2010-08-18 18:45:52

+0

请发布完整的代码,包括解析XML,请。 谢谢。 – Eugene 2010-08-18 23:58:20

我认为最好是创建一个循环并使用加载器的Event.COMPLETE来知道何时加载下一个缩略图而不是使用间隔。这样你就可以避免冲突。

var imageLoader:Loader; 
var currentImageLoading:uint; 
var thumbsToLoad:Array; //array of strings of paths to the thumbnail 

function loadThumbs(thumbs:Array):void 
{ 
    currentImageLoading = 0; 
    thumbsToLoad = thumbs; 
    loadNextThumb(); 

function loadNextThumb():void 
{ 
    imageLoader = new Loader(); 
    var imageUrl:String = thumbsToLoad[currentThumbLoading]; 
    var imageRequest:URLRequest = new URLRequest(imageUrl); 
    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadThumbComplete); 
    imageLoader.load(imageRequest); 
} 

function loadThumbComplete(e:Event):void 
{ 
    // do stuff with loaded thumb here 
    var thumb:Sprite = new Sprite(); 
    thumb.addChild(imageLoader.content); 
    trace(thumb.width); 
    currentThumbLoading++; 
    if (currentThumbLoading < thumbsToLoad.length) { 
     loadNextThumb(); 
    } else { 
     // loading cycle is complete 
    } 
} 

评论

后编辑我固定loadThumbComplete采取事件参数。为了获得加载的拇指的宽度,我更喜欢从imageLoader中获取内容并将其放入Sprite中。

+0

哈哈写的是相同的答案:) @Qpixo你也可以使用greensock.com的加载类,这对于这里的问题来说有点矫枉过正,但它们包含了高级加载功能 – PatrickS 2010-08-19 00:37:56

+0

是的,我使用URLLoader从XML文件。 //文件名,调用它在主 装载机=新的URLLoader(); loader.load(new URLRequest(filename)); addFileListener(loader,callBack); – Qpixo 2010-08-19 14:51:16

+0

@Qpixo这不同于我在我的答案中提出的。 – knuckfubuck 2010-08-19 16:27:23

我宣布tabPhoto和tabThumbWidthIncrement因为你在使用加载缩略图矢量

var tabPhoto:Vector.<ThumbInfo> = new Vector.<ThumbInfo>; 
var tabThumbWidthIncrement:Vector<uint> = new Vector.<uint>;