专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flash

一段flash代码,请高人帮忙分析。该如何解决

发布时间:2011-06-27 19:54:39 文章来源:www.iduyao.cn 采编人员:星星草
一段flash代码,请高人帮忙分析。
我有一段如下的flash代码。当代码执行完“doc.onLoad = function(success:Boolean)”这行后,会跳到“gotoAndPlay(3)”这行去执行,之后再跳回“if (success)”这行来执行。请flash的大牛们解释一下,为什么执行完“doc.onLoad = function(success:Boolean)”这行后,不去执行“if (success)”这行呢。刚接触flash,对其不甚了解。
----------
yearList = new Array();
xml_Holidays1 = new Array();
xml_Holidays2 = new Array();
xml_Dutydays1 = new Array();
xml_Closedays1 = new Array();
var doc = new XML();
doc.ignoreWhite = true;
doc.load("calendar.xml");
doc.onLoad = function(success:Boolean) {
if (success) {
yearList = doc.childNodes[0].childNodes;
for(var i = 0;i < yearList.length;i++){
xml_Holidays1[i] = doc.childNodes[0].childNodes[i].childNodes[0].firstChild.nodeValue;
xml_Holidays2[i] = doc.childNodes[0].childNodes[i].childNodes[1].firstChild.nodeValue;
xml_Dutydays1[i] = doc.childNodes[0].childNodes[i].childNodes[2].firstChild.nodeValue;
xml_Closedays1[i] = doc.childNodes[0].childNodes[i].childNodes[3].firstChild.nodeValue;
}
  }
};
gotoAndPlay(3);

------解决方案--------------------
C# code
doc.onLoad = function(success:Boolean) {
if (success) {
yearList = doc.childNodes[0].childNodes;
for(var i = 0;i < yearList.length;i++){
xml_Holidays1[i] = doc.childNodes[0].childNodes[i].childNodes[0].firstChild.nodeValue;
xml_Holidays2[i] = doc.childNodes[0].childNodes[i].childNodes[1].firstChild.nodeValue;
xml_Dutydays1[i] = doc.childNodes[0].childNodes[i].childNodes[2].firstChild.nodeValue;
xml_Closedays1[i] = doc.childNodes[0].childNodes[i].childNodes[3].firstChild.nodeValue;
  }
  gotoAndPlay(3);
  }
};

------解决方案--------------------
改一下位置就可以了吧,我想楼主的想法是等数据加载完后进入第三帧吧。事件处理程序是在事件发生时执行的,你的代码中,在事件发生前会执行gotoAndPlay(3);
------解决方案--------------------
success == false 了,难道是。。
------解决方案--------------------
flash是个单线程的,只有当加载的是第三方文件而响应的事件才是异步的,所以你执行完doc.load("calendar.xml");后,会直接执行gotoAndPlay(3);,if (success)这个事件代码的响应肯定是需要时间的并且需要的时间远大于执行下一行代码的间隔时间
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: