选择显示字体大小

flash: 可添加二级树半功略

先看我做好的:
flash/swflash.cab height=300 width=400 classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000>flashvars" value="10583">access" value="always">flash" pluginspage="http://www.macromedia.com/go/getflashplayer">

新开窗口效果比较好
源文件
有个失误,减主菜单的时候名字忘了减了。
先讲讲我的思路,主要是利用几个变量:
menunum ---主目录数
menuname_x ---第x个目录名
menu_x_childnum ---第x个目录的菜单数
menu_x_childname_y ---第x个目录的第y个菜单的名子
botton_x_y_ulr ---第x个目录的第y个菜单的连接地址
利用这几个变量循环出菜单。主要工作在层attmenu和attchild上。
edit层就是改变和储存这几个变量。
目前还在研究xml,想利用xml来储存这些数据。希望高手指点。
以下是fla种的源程序加上我的注释,班门弄斧一下。
layer:attmenu
    frame1:空,用于读取外部数据。
    frame2:

for(i=1;i<menunum+1;i++){            //取得主目录数目(menunum),并循环复制按钮
attachmovie("unseeb","unseeb_"+i+"a",100+i) //复制不可见按钮用于主目录按钮的动作。
attachmovie("bover","menu_"+i,i); //复制动画按钮。
attachmovie("atext","atext"+i,200+i);//复制主目录上的按钮名称。
this["menu_"+i]._x=60+100*(i-1); //设置以上三个按钮载主场景的位置。
this["menu_"+i]._y=20;
this["unseeb_"+i+"a"]._x=60+100*(i-1);
this["unseeb_"+i+"a"]._y=20;
_root["atext"+i].name=eval("menuname_" + i);
_root["atext"+i]._x=30+100*(i-1);
_root["atext"+i]._y=12;
}

layer:attchild
    frame1-2:空,这两帧用于复制主目录
    frame3:


stop(); //停止影片
for(i=1;i<=menunum;i++){  //以主目录数目做循环
childnum=eval("menu_" + i +"_childnum"); //分别获得每个主目录的菜单数目
for(j=1;j<childnum+1;j++){  //以该主目录的菜单数目做循环
attachmovie("botton","botton_"+i+"_"+j,j+(i+2)*100); //复制菜单按钮
attachmovie("atext","atext_"+i+"_"+j,j+(i+102)*100); //复制菜单名称
this["botton_"+i+"_"+j]._x=60+100*(i-1); //设置以上两种按钮的属性(位置、不可见)
this["botton_"+i+"_"+j]._y=20+j*23;
this["botton_"+i+"_"+j]._visible=false;
this["atext_"+i+"_"+j]._x=20+100*(i-1);
this["atext_"+i+"_"+j]._y=12+j*23;
this["atext_"+i+"_"+j]._visible=false;
this["atext_"+i+"_"+j].name=eval("menu_"+i+"_childname_"+j); //取得菜单名称并赋值给mc(atext)中的动态文本。
} //下一个子菜单
} //下一个主目录

layer:getnum:用于读取外部变量并将其转化为数值型。

layer:edit:用于编辑各个目录以及菜单
    mc:
    edit (左下角):


onclipevent(enterframe){     //监测不可见按钮是否在第2帧(是否处于激活状态)为可见
this._visible = false;
for (i=1;i<=_root.menunum;i++){
if (_root["unseeb_"+i+"a"]._currentframe == 2){
this._visible = true;
}
}
}

edit内的按钮:

on (release) {      
for (i=1; i<=_root.menunum; i++) {
if (_root["unseeb_"+i+"a"]._currentframe == 2) {
_root.editnum = i;
}
}                                                               //监测哪一个按钮处于激活状态
_root.editbg._visible = true;  //激活编辑界面
for(j=1;j<=eval("_root.menu_"+_root.editnum+"_childnum");j++){ //告诉编辑界面该目录的子菜单数目
eval("_root.editbg.intext_"+j)._visible=true; //告诉editbg循环出相应数目的input框
eval("_root.editbg.intext_"+j+"_url")._visible=true;
}
for(k=eval("_root.menu_"+_root.editnum+"_childnum")+1;k<=20;k++){
eval("_root.editbg.intext_"+k)._visible=false;
eval("_root.editbg.intext_"+k+"_url")._visible=false;
}
for(x=1;x<=20;x++){  //读取子菜单默认值
eval("_root.editbg.intext_"+x).text=eval("_root.menu_"+_root.editnum+"_childname_"+x);
eval("_root.editbg.intext_"+x+"_url").text=eval("_root.botton_"+_root.editnum+"_"+x+"_url");
}
_root.editbg.menuname.text=eval("_root.menuname_"+_root.editnum);//读取主目录默认值
}


    editbg (右):

onclipevent(load){
this._visible=false;
}


    editbg内:
layer1:背景
layer2:循环20个文本框mc(intext),并给他们赋予名字以及位置。

for(j=1;j<=20;j++){
attachmovie("intext","intext_"+j,10000+j);
attachmovie("intext","intext_"+j+"_url",20000+j);
this["intext_"+j]._x=-150;
this["intext_"+j]._y=-225+23*(j-1);
this["intext_"+j+"_url"]._x=-40;
this["intext_"+j+"_url"]._y=-225+23*(j-1);
for(k=0;k<1;k++){
this["intext_"+j]._visible=false;
this["intext_"+j+"_url"]._visible=false;
}
}


    ok按钮:赋值给各个变量
on(release){
_root["menuname_"+_root.editnum] = this.menuname.text
for(i=1;i<=eval("_root.menu_"+_root.editnum+"_childnum");i++){
eval("_root.menu_"+_root.editnum+"_childname_"+i) = this["intext_"+i].text;
eval("_root.botton_"+_root.editnum+"_"+i+"_url") =this["intext_"+i+"_url"].text;
}
_root.gotoandplay(1);
_root.editbg._visible = false;
}
button:
+(左上):每单击一次主目录数目+1


on(release){
_root.menunum+=1;
if (_root.menunum>8) {
_root.menunum=8;
}
_root.gotoandplay(1);
}

_(左上):每单击一次主目录数目-1
on(release){
if (menunum!=1){
_root["unseeb_"+menunum+"a"].unloadmovie();
_root["menu_"+menunum].unloadmovie();
_root["atext_"+menunum].unloadmovie();
for(i=1;i<=eval("menu_"+menunum+"_childnum");i++){
_root["botton_"+menunum+"_"+i].unloadmovie();
}
}
_root.menunum -=1;
if (_root.menunum<=0 ){
_root.menunum=1;
}
_root.gotoandplay(1);
}

+(左下):每单击一次子目录数目+1

on(release){
for (i=1;i<=menunum;i++){
if(_root["unseeb_"+i+"a"]._currentframe==2){
eval("menu_"+i+"_childnum") +=1;
if (eval("menu_"+i+"_childnum")>=20){eval("menu_"+i+"_childnum")=20;}
j=eval("menu_"+i+"_childnum");
attachmovie("botton","botton_"+i+"_"+j,j+(i+2)*100);
attachmovie("atext","atext_"+i+"_"+j,j+(i+102)*100);
this["botton_"+i+"_"+j]._x=60+100*(i-1);
this["botton_"+i+"_"+j]._y=20+j*23;
}
}
}

   


—(左下):每单击一次子目录数目-1

on(release){
for (i=1;i<=menunum;i++){
if(_root["unseeb_"+i+"a"]._currentframe==2){
del = eval("menu_"+i+"_childnum");
if (del < 0){
del = 0 ;
}
_root["botton_"+i+"_"+del].unloadmovie();
_root["atext_"+i+"_"+del].unloadmovie();
eval("menu_"+i+"_childnum") -=1;
if (eval("menu_"+i+"_childnum") < 0 ){
eval("menu_"+i+"_childnum") =0 ;
}
}
}
}


library : button:点击获得链接路径(变量button_x_y)(x代表第几个目录,y代表第几个菜单)

on(rollover){
attachmovie("bover","bover",1);
attachmovie("brelease","brelease",2)
}
on(rollout){
this.bover.unloadmovie();
}
on(release){
this.brelease.play();
url = this._name+"_url";
geturl(_root[url],"_blank");
}
on(releaseoutside){
this.bover.unloadmovie();
}

unseeb:控制激活状态的该按钮只能有一个


on(release){
name = this._name;
which = name.slice(7,-1);
howmuch = _root["menu_"+which+"_childnum"];
for(j=1;j<=howmuch;j++){
_root["atext_" + which +"_"+j]._visible = true;
_root["botton_"+which +"_"+j]._visible = true;
}
for(i=1;i<=_root.menunum;i++){
if (i==which){
continue;
}
for(j=1;j<=_root["menu_"+i+"_childnum"];j++){
_root["botton_"+i+"_"+j]._visible = false;
_root["atext_"+i+"_"+j]._visible = false;
}
_root["unseeb_"+i+"a"].gotoandstop(1);
}
gotoandstop(2);
}


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons