Flash专栏: 基础教程 | 技巧运用 | MTV实例教程 | 游戏实例教程 | 实例教程 | AS教程(new)
photoshop专栏: 基础 | 进阶 | 技巧总汇 | 精彩实例 | 文字特效 | 滤镜魔术 | 实际应用
网页设计: Dreamweaver教程 | FireWorks教程 | CorelDraw设计 | Freehand/Illustrator教程 | 音乐转换教程
其他教程: 操作系统 | 程序设计 | 网站开发 | 图形图像 | 数据库 | 网络技术 | 安全相关 | 认证考试 | 硬件知识 | 服务器
Flash专栏>flash实例教程>制作无限级菜单   返回上一页

  日期:2006-08-17 11 作者:zjs35 来源:
天气预报 IP地址 手机号码 邮编 翻译 在线代理 在线评书 好dj


制作无限级菜单


原来是三级菜单,写书时想把它做为例子(第5章的第4个例子中),于是用递归改成无限级的
首先得准备xml文件
部分载图

图片如下:

核心代码: 
function addMenu(mc) { 
  removeMenu((mc.level-1)*depthDis, (mc.level+menuLevel-1)*depthDis-1); 
  var tempArray = []; 
  tempArray = mc.data; 
  var j = tempArray.length; 
  for (var i = 0; i<j; i++) { 
    var d = mc.level*depthDis-i-1; 
    var t = menu.duplicateMovieClip("menu"+d, d); 
    menuStyle(t, tempArray[i].attributes.text); 
    t._x = mc._x+(mc._width+dis); 
    t._y = mc._y+(hei+dis)*i; 
    if (tempArray[i].childNodes[0] != undefined) { 
      var tmc = t.createEmptyMovieClip("nex", 2); 
      createNext(tmc, wid-12, 5); 
    } 
    t.data = tempArray[i].childNodes; 
    t.level = mc.level+1; 
    t.id = i; 
    t.onRollOver = function() { 
      addMenu(this); 
      mc.prev = mc.curr; 
      menuOutStyle(mc.prev); 

      mc.curr = this;
      menuRollStyle(mc.curr);
    };
    if (t.data[0] == undefined) {
      t.onRelease = function() {
        var _u = tempArray[this.id].attributes.link;
        if (_u != undefined) {
          createLoading("swf/"+_u);
        }
      };
    }
  }
}
呵,用了Tween类,效果很cool
   责任编辑:uufeng    时间:2006年8月10日


 
高手云集 版权所有 1998-2006