加载问题缩略图
我在加载缩略图时遇到了问题,我设置了每个手指在舞台上加载的时间间隔。他们中有些人不能为了加载顺序,他们缺少,是滞后......加载问题缩略图
其实,我设置一个预加载文件的大小,但因为我从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();
}
}
我认为最好是创建一个循环并使用加载器的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中。
哈哈写的是相同的答案:) @Qpixo你也可以使用greensock.com的加载类,这对于这里的问题来说有点矫枉过正,但它们包含了高级加载功能 – PatrickS 2010-08-19 00:37:56
是的,我使用URLLoader从XML文件。 //文件名,调用它在主 装载机=新的URLLoader(); loader.load(new URLRequest(filename)); addFileListener(loader,callBack); – Qpixo 2010-08-19 14:51:16
@Qpixo这不同于我在我的答案中提出的。 – knuckfubuck 2010-08-19 16:27:23
我宣布tabPhoto和tabThumbWidthIncrement因为你在使用加载缩略图矢量
var tabPhoto:Vector.<ThumbInfo> = new Vector.<ThumbInfo>;
var tabThumbWidthIncrement:Vector<uint> = new Vector.<uint>;
? UILoader的? – Sandro 2010-08-18 18:45:52
请发布完整的代码,包括解析XML,请。 谢谢。 – Eugene 2010-08-18 23:58:20