首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS2 MovieClipLoader -来自XML的图像。如果不存在,如何跳过图像加载?

AS2 MovieClipLoader -来自XML的图像。如果不存在,如何跳过图像加载?
EN

Stack Overflow用户
提问于 2011-10-08 20:03:34
回答 1查看 1.2K关注 0票数 0

我正在尝试基于XML制作缩略图-网格。到目前为止,我已经完成了在舞台上加载和定位缩略图的代码。我使用的代码:

代码语言:javascript
复制
function loadXML(loaded) {
  if (loaded) {
    xmlNode = this.firstChild;
    imgName = [];
    image = [];
    description = [];
    thumbnails = [];
    url = [];
    _global.total = xmlNode.childNodes.length;
    for (i=0; i<_global.total; i++) {
       imgName[i] = xmlNode.childNodes[i].attributes.image_name;
       image[i] = xmlNode.childNodes[i].attributes.path;
       description[i] = xmlNode.childNodes[i].attributes.details;
       thumbnails[i] = xmlNode.childNodes[i].attributes.path + "tn_" + xmlNode.childNodes[i].attributes.image_name;
       url[i] ="#"+ xmlNode.childNodes[i].attributes.path + xmlNode.childNodes[i].attributes.image_name;
       thumbnailer(i);
     }
   } else {
     trace("file not loaded!");
   }
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad =loadXML;
xmlData.load("myImages.xml");

function thumbnailer(k){
   loaded_counter=0;
   total_thumbs = _global.total;
   var container = thumbnail_mc.createEmptyMovieClip("th"+k,thumbnail_mc.getNextHighestDepth());
   var image = container.createEmptyMovieClip("img", container.getNextHighestDepth());

   tlistener = new Object();
   tlistener.onLoadInit = function(target_mc) { 
      target_mc.onRelease = function() {
          getURL (url[k], "_self");
      };
      target_mc.onRollOver = function() {
          target_mc._alpha=50;
      };
      target_mc.onRollOut = target_mc.onDragOut = function(){
          target_mc._alpha=100;
      };
      loaded_counter++;
      if(loaded_counter==total_thumbs){
          build_grid();
      }  
   };
   image_mcl = new MovieClipLoader();
   image_mcl.addListener(tlistener);
   image_mcl.loadClip(thumbnails[k], "thumbnail_mc.th"+k+".img");
}

现在,当文件夹中缺少一些缩略图时,代码就卡在了网上:loaded_counter==total_thumbs和定位组件( build_grid() )无法运行。

有人知道怎么跳过丢失的缩略图吗?

谢谢你的帮助阿图尔。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 20:47:55

你应该加上:

代码语言:javascript
复制
tlistener.onLoadError = function() {
  loaded_counter++;
  if(loaded_counter==total_thumbs){
      build_grid();
  }  
}

我觉得你应该测试一下:

代码语言:javascript
复制
if (loaded_counter >= total_thumbs)

你永远不会知道..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7699435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档