| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
Web 2.0 网站成功
浅谈关键字与搜索
个人网站发展的关
电子商务:能取得
关键词分析的四大
关键词分析的四大
网站发展战略的5个
网络新站成与败的
大中型网站运营关
Google AdSense 高

关键的缓冲公式的应用           

关键的缓冲公式的应用

作者:佚名 来源:闪吧 作者: 三少 更新:2007-1-13 20:47:06 错误报告 我要投稿

前言:最近韩国菜单在国际出尽风头,尤其是他们的缓冲菜单,效果的确一流.小弟破解出一条纯as编写的菜单的一条关键公式,并尝试应用到实际并成功,不敢独享,拿出来让大家pp!

原菜单

点击开新窗口欣赏该FLASH动画![全屏欣赏]

原菜单代码:

var drag=0.1;//震动参数
var flex=0.7;//震动参数
var menuEN=new Array("News","Movie","Music","Game","Net TV","BBS","Member");
var menuZH=new Array("新闻频道","电影频道","音乐频道","游戏频道","网络电视","网友论坛","会员专区");
var menuURL=new Array("#","#","#","#","#","#","#");
var menuColor=new Array(0xD808B8,0x00A2FF,0x96D302,0xFFC600,0xFF5400,0x7908D8,0x02D396);
var mBlock=this.attachMovie("mblock","mb",0);
mBlock._y=5;
mBlock.goalX=-100;
mBlock.onEnterFrame=function(){
this.Step = this.Step * flex + (this.goalX - this.px) * drag;
this.px+=this.Step;
this._x=this.px;
if(this.sOut && this._xscale<99.5) this._xscale+=(100-this._xscale)/8;
if(this.sIn && this._xscale>0.1) this._xscale+=-this._xscale/8;
}
var MBColor=new Color(mBlock);
for(var i=0;i<menuZH.length;i++){
var theItem=this.attachMovie("MenuItem","Item"+i,i+10);
theItem._x=i*84;
theItem.mColor=menuColor[i];
theItem.URL=menuURL[i];
theItem.mc_ZH.itext.text=menuZH[i];
theItem.mc_EN.itext.text=menuEN[i];
theItem.onEnterFrame=function(){
if(this.fadeOut){
if(this.topLine._alpha<99.5) this.topLine._alpha+=(100-this.topLine._alpha)/8;
if(this.mc_EN._alpha>0.5) this.mc_EN._alpha+=-this.mc_EN._alpha/8;
if(this.mc_ZH._xscale<130) {this.mc_ZH._xscale+=2;this.mc_ZH._yscale+=2;}
}

if(this.fadeIn){
if(this.mc_EN._alpha<99.5) this.mc_EN._alpha+=(100-this.mc_EN._alpha)/8;
if(this.topLine._alpha>0.5) this.topLine._alpha+=-this.topLine._alpha/8;
if(this.mc_ZH._xscale>100) {this.mc_ZH._xscale-=2;this.mc_ZH._yscale-=2;}
}
}
theItem.onRollOver=function(){
mBlock.goalX=this._x+42;
mBlock.sOut=true;
mBlock.sIn=false;
MBColor.setRGB(this.mColor);
new Color(this.topLine).setRGB(this.mColor);
//new Color(this.mc_ZH).setRGB(0xFFFFFF);
this.fadeOut=true;
this.fadeIn=false;
}
theItem.onRollOut=function(){
mBlock.sOut=false;
mBlock.sIn=true;
//new Color(this.mc_ZH).setRGB(0x000000);
this.fadeIn=true;
this.fadeOut=false;
}
theItem.onRelease=function(){
getURL(this.URL);
}
}
stop();

我仿做的菜单:
点击开新窗口欣赏该FLASH动画![全屏欣赏]

源文件:
点击浏览该文件

我们开始吧,首先做一个按钮,拖4到场景,名字分别n=key1,n=key2,n=key3,n=key4!

在按钮key上添加代码如下:

on(rollOver){attachMovie("mc","mc",1);//鼠标经过,调用库中名为mc的剪辑,重新改名为mc,深度为1
attachMovie("on_key","on_key01",2);//同上,代入名字而已^_^
attachMovie("on_key","on_key02",3);//同上深度变化了
removeMovieClip(_root.on_key11);//删除场景里名为on_key11的mc(目的,当其他按钮代入这个mc的时候,在我鼠标经过目标mc时删除它,避免混乱)
removeMovieClip(_root.on_key12);//同上
removeMovieClip(_root.on_key21);
removeMovieClip(_root.on_key22);
removeMovieClip(_root.on_key31);
removeMovieClip(_root.on_key32);
on_key01._y=250;//设置刚才调入的子菜单y坐标
on_key01._x=_root.key._x+60;//设置坐标,同上
on_key02._y=222;
on_key02._x=_root.key._x+60;
_root.key_mc1.gotoAndPlay(2);}//场景里的名为key_mc1的mc往第2侦运动!(效果而已)
on(rollOut){_root.key_mc1.gotoAndPlay(13);}//当鼠标移出按钮反应区,执行动作:场景里的名为key_mc1的剪辑向13侦播放!

第2个按钮写入同样格式代码,只是调整mc的坐标,这里省略,详细见源文件!
做一个mc,画一个正方形,再做一个mc,调入刚才的mc,并命名为mc,在侦上粘贴如下代码:

var i = _root.key._x+84;//设置一个变量i,让它的数值为场景中名叫key的按钮的x坐标+84!
onEnterFrame = function(){mc._x=(i-mc._x)*0.8}//公式

这条就是最简单的数学缓冲公式,我解释一下:

mc的x坐标取值为i-mc的x坐标*0.8,0.8是速度!
我们代入数字算一算,如果mc的x坐标=100,那么1为一个固定值比如120,就有mc现在的x坐标为
(120-100)*0.8=16,循环一下,mc现在的坐标就是16了,代入,有(120-16)*0.8=91.2..............
由于mc的坐标呈几何递增(减),所以mc的速度就会呈缓冲状态变化!
继续!像昨天的教程一样,我们为这个mc添加链接名为mc,so that我们能使用attachMovie函数调用这个mc,完成这个mc之后,我们做一个按钮,随便做,再做一个mc装载这个按钮,命名这个按钮为mc,思路跟刚才做的mc一样!同样方法粘贴代码:

var i = _root.key._y+200;
onEnterFrame = function(){mc._y=(mc._y-i)*.5}

这里我请大家动动脑筋,解释一下上面的代码!呵呵!毕竟学习还是需要大家动脑筋的!
做一个mc,文字mc,效果为文件中"hi,flash"那样,这个不用我教了吧?^_^,做一个30侦的循环,在第1和第15侦写上stop();配合按钮上的代码:

_root.key_mc1.gotoAndPlay(2);}//场景里的名为key_mc1的mc往第2侦运动!(效果而已)
on(rollOut){_root.key_mc1.gotoAndPlay(13);}//场景里的名为key_mc1的mc往第2侦运动!(效果而已)

拖到场景,命名为key_mc1
大功告成!刚才所说的精华全在一条缓冲数学公式,活用之后,韩国所有菜单你都能应付自如^_^,到时不要忘记跟小弟我交流交流哦!咔咔!
教程肤浅,错漏难免,欢迎提问,不过请先思考!谢谢!

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。