快速业务通道

点线形弹性菜单制作(AS 2.0)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


在AS区我发过帖子想找韩国风格的菜单(AS 2.0)dispbbs.ASP?boardID=10&ID=218672却没有什么结果,后来ycccc8202(寒冰)给我了指导,经过自己研究,然后把东西做出来和大家一起分享下。
感谢:ycccc8202(寒冰)、带鱼、火星猫
代码预览:
点击浏览该文件
http://www.Flash8.net/bbs/UploadFile/2005-1/200511621211610.swf
1、按钮制作 首先制作如图的元件(可以是图形)
按此在新窗口浏览图片 新增一个元件40×40做按钮相应的元件(可以命名成“bg”,主要是为了方便以后调整大小),接下来是制作正式制作按钮
按此在新窗口浏览图片 将制作好的图形元件放入按钮的“弹起”、“指针经过”和“按下”祯,在“点击”祯放入元件“bg”。按此原理制作其他按钮。 2、鼠标悬停后“提示”的制作 制作一个图形元件,样式可以根据自己喜欢设计成不同颜色不同形状的,接着新建一个影片剪辑,将刚刚的元件放入的第二祯,新建一层分别在第一、第二祯加入stop()
按此在新窗口浏览图片 按此方法,制作其他“提示” 3、影片剪辑MC制作 新建一个MC,将步骤1制作的按钮拖入。接着将步骤2制作的“提示”也拖入(随便什么位置即可)
按此在新窗口浏览图片 按此方法,制作其他MC 4、给MC添加控制“on()” 玀C放入场景中,并且在MC影片编辑上添加鼠标控制“on()”代码如下:
on (rollOver) {
tellTarget ("ts1") {
gotoAndStop(2); //鼠标悬停播放并且停止在ts1的第二祯
}
startDrag("ts1", true); //创建用户可以放在任何位置的影片剪辑
}
on (release, rollOut) {
tellTarget ("ts1") {
gotoAndStop(1); //鼠标移走,播放并且停止在ts1的第1祯
}
}
on (release) {
getURL("http://www.5y6s.net"); //鼠标点击跳转的网址
}
5、添加actions 这个步骤是最关键的,也是在寒冰帮助下完成的,代码如下:
Stage.scaleMode = "noScale";
createEmptyMovieClip("line", 0);
var maxNum = 5;
function Run(obj) {
obj.pos.xspeed = (obj.pos.x-obj._x)/7+obj.pos.xspeed*.9;
obj.pos.yspeed = (obj.pos.y-obj._y)/7+obj.pos.yspeed*.9;
obj._x += obj.pos.xspeed;
obj._y += obj.pos.yspeed;
}
function rndRun(obj) {
if (!obj.pos._press) {
obj._x += 10-random(20);
obj._y += 10-random(20);
}
}
onEnterFrame = function () {
line.clear();
line.lineStyle(1, 0xffffff);
line.moveTo(m1._x, m1._y);
for (var i = 0; i<=maxNum; i++) {
if (!this["m"+i].pos._press) {
Run(this["m"+i]);
}
if (i>1) {
line.lineTo(this["m"+i]._x, this["m"+i]._y);
}
}
};
for (var i = 0; i<=maxNum; i++) {
this["m"+i].pos = {x:this["m"+i]._x, y:this["m"+i]._y, xspeed:0, yspeed:0, _press:false};
this["m"+i].onPress = function() {
this.startDrag("");
this.pos._press = true;
};
this["m"+i].onRelease = this["m"+i].onReleaseOutside=function () {
this.stopDrag();
this.pos._press = false;
};
setInterval(rndRun, 1000+random(2000), eval("m"+i));
}从2个到n个过程 1、var maxNum = 3; 改成N值
2、with 动作动作增加相应循环 ----------------
lineStyle(2, 0xffffff);
moveTo(m2._x, m2._y);
lineTo(m3._x, m3._y);
---------------- 用于连接2到3点的直线
在这里你可以看到“0xffffff”意为这你也可以修改直线的颜色
3、增加setInterval值
setInterval(rndRun, 1000+random(2000), m3);
-----------

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号