Flash教程:跨层级加载时 相对路径的问题
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
今天刚好在做多层级加载时发现了这个问题.就把解决方法贴出来了 问题描术: 路径结构是:根级:A.swf data(文件夹) data文件夹中有 B.swf c.swf 在B的代码中有加载C.swf 单独运行B时正常。 用A加载B的时候,问题就出现B不会加载c.swf了。 得把c.swf移到和A.swf同级别。 问题原因: 所有加载的swf都是以最外层swf所在目录为根目录 被网页加载的swf都是以网页所在目录为根目录 解决方法: function 计算文件目录() { var 目录索引 = _url.lastIndexOf("/"); var 目录 = _url.substring(0, 目录索引); var 文件名 = _url.substring(目录索引+1); return [目录, 文件名]; } trace(_url) trace(计算文件目录()) //*****重点. 以上函数并把目录和文件名分离了. 所以返回值的[0]是目录 [1]是文件名.这样用起来就更方便了 利用上面的函数,先分析得到主加载器的绝对目录. 这时候不论下级载体 或下下级载体. 再调用一次该函数 得到下下级载体的绝对目录. 这样就能得到2个绝对地址 然后用字符串分析方法(IndexOf) 找出相同的部分.去掉, 剩下的就是需要的相对路径了. 这样在加载时把这个路径追加上.就能正常的加载N级关系的文件了. 本教程为本人原创,只供学习 如转载教程请注明出处:www.ycFlash.com/ ----羽柴 //再把对比方法也补充上吧. 比较简单. //========计算自己的相对路径========= var 目录索引=文件目录[0].indexOf(_root.文件目录[0]) var 相对路径=文件目录[0].substring(目录索引+_root.文件目录[0].length+1) trace("相对路径="+相对路径) //=====trace环境===解析成功. 主文件目录=file:///F|/制作/A 子文件目录=file:///F|/制作/A/data 相对路径=data 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 加载单个png图片进行动作化处理下一篇: AS教程:ActionScript优化
关于Flash教程:跨层级加载时 相对路径的问题的所有评论