Xml 加载问题缩略图
我在加载缩略图时遇到了问题,我设置了每个拇指加载到舞台上的时间间隔。它们中的一些无法按顺序加载,它们缺失,滞后 实际上,我将预加载程序设置为文件大小,但由于我是从XML动态加载的,所以文件大小更小 有人知道解决这个问题的方法吗? 但我真的很烦 我使用XML文件加载,在解析过程中没有任何问题 有时,所有的缩略图都可以加载到舞台上,如果带宽有点慢,它的滞后意味着第一个缩略图正在加载,然后它会突然跳过第二个缩略图,而是加载第三个缩略图,以此类推 有时它可以加载整个缩略图。。。真奇怪 在这里,我设置了一个计时器来加载每个缩略图Xml 加载问题缩略图,xml,actionscript-3,thumbnails,loading,Xml,Actionscript 3,Thumbnails,Loading,我在加载缩略图时遇到了问题,我设置了每个拇指加载到舞台上的时间间隔。它们中的一些无法按顺序加载,它们缺失,滞后 实际上,我将预加载程序设置为文件大小,但由于我是从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();
}
受保护静态常数间隔时间:uint=1000;
initLoadTime=新计时器(间隔时间);
initLoadTime.addEventListener(TimerEvent.TIMER,handleLoadedEachThumbnail,false,0,true);
initLoadTime.start();
受保护函数handleLoadedEachThumbnail(事件:TimerEvent):无效
{
var容器:MovieClip=新的MovieClip();
if(当前索引
}我认为最好创建一个循环并使用加载程序的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
}
}
var-imageLoader:Loader;
var-currentImageLoading:uint;
var-thumbsToLoad:数组//指向缩略图的路径字符串数组
函数loadThumbs(thumbs:Array):void
{
currentImageLoading=0;
thumbsToLoad=拇指;
loadnexthumb();
函数loadNextThumb():void
{
imageLoader=新加载器();
var-imageUrl:String=thumbsToLoad[currentThumbLoading];
var-imageRequest:URLRequest=新的URLRequest(imageUrl);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadThumbComplete);
加载(imageRequest);
}
函数loadThumbComplete(e:事件):无效
{
//在这里用大拇指做东西
变量thumb:Sprite=新Sprite();
addChild(imageLoader.content);
痕迹(拇指宽度);
currentThumbLoading++;
if(当前ThumbLoading
在评论后编辑
我修复了loadThumbComplete以获取事件参数。要获取加载的thumb的宽度,我更喜欢从imageLoader获取内容并将其放入精灵中。我认为最好创建一个循环并使用加载程序的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
}
}
var-imageLoader:Loader;
var-currentImageLoading:uint;
var thumbsToLoad:Array;//指向缩略图的路径字符串数组
函数loadThumbs(thumbs:Array):void
{
currentImageLoading=0;
thumbsToLoad=拇指;
loadnexthumb();
函数loadNextThumb():void
{
imageLoader=新加载器();
var-imageUrl:String=thumbsToLoad[currentThumbLoading];
var-imageRequest:URLRequest=新的URLRequest(imageUrl);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadThumbComplete);
加载(imageRequest);
}
函数loadThumbComplete(e:事件):无效
{
//在这里用大拇指做东西
变量thumb:Sprite=新Sprite();
addChild(imageLoader.content);
痕迹(拇指宽度);
currentThumbLoading++;
if(当前ThumbLoading
在评论后编辑
我修复了loadThumbComplete以获取事件参数。要获取加载的thumb的宽度,我更喜欢从imageLoader获取内容并将其放入精灵中。我已将tabPhoto和tabThumbWidthIncrement声明为Vector
var tabPhoto:Vector.<ThumbInfo> = new Vector.<ThumbInfo>;
var tabThumbWidthIncrement:Vector<uint> = new Vector.<uint>;
var tabPhoto:Vector.=新向量。;
var tabThumbWidthIncrement:向量=新向量。;
我已将tabPhoto和tabThumbWidthIncrement声明为向量
var tabPhoto:Vector.<ThumbInfo> = new Vector.<ThumbInfo>;
var tabThumbWidthIncrement:Vector<uint> = new Vector.<uint>;
var tabPhoto:Vector.=新向量。;
var tabThumbWidthIncrement:向量=新向量。;
你用什么加载缩略图?UILoader?请发布完整的代码,包括解析xml。谢谢。你用什么加载缩略图?UILoader?请发布完整的代码,包括解析xml。谢谢。哈哈写了同样的答案:)@Qpixo你也可以使用greensock.com上的加载类,这是这里的问题有点过火,但它们包含高级加载功能。我使用URLLoader从XML文件中加载//文件名,在主加载程序中调用它=新URLLoader();loader.load(新URLRequest(Filename));addFileListener(加载程序,回调);@Qpixo这与我在回答中所说的不一样。@KnuckBubuck:为什么你的函数loadThumbComplete()没有参数(event:event)?而currentThumbLoading++应该在if中(currentThumbLoading