用Flash设计透明按钮
一、设计步骤
1.点选“Windows”菜单下“Common Libraries”选项菜单中的“Button”命令,打开“Button”(按钮)库,然后从“Key Bottons”文件夹中拖一个按钮到场景中^36041001a^1。
2.鼠标左键点选场景中的按钮,给这个按钮起一个实体名称“mc”^36041001b^2。这里给大家讲一下实体(也有叫实例的)的概念──从库中拖曳到场景中的符号就是一个实体。在Flash中,只有这些实体才能作为影片剪辑属性的载体。
3.右键单击按钮实体“mc”,选择Actions命令,然后输入以下代码:
//鼠标按下按钮再松开时执行语句
on (release) {
//获取按钮当前的透明值
var i = getProperty(this,_alpha);
//把按钮的透明度值减去10后再重新设置按钮的透明值
setProperty(this,_alpha,i-10);
//当变量小于零时,即按钮不可见时,把按钮的透明值重设为100
if (i<0) {
this._alpha = 100;
}
}
二、代码解析
表达式i-10的作用就是把按钮的透明度减小10。if语句的作用是:如果影片实体完全透明,则透明度再变为100。语句getProperty(mc, property)用来获取实体当前的属性值,然后赋给某一变量。语句var用来声明局部变量。其参数mc是实体名称;property是实体的属性。语句setProperty("target",property,value/expression) 可以更改实体的属性值。参数value/expression是变量/表达式的意思,其值是用来更改属性值的。
在脚本执行时,this引用包含该脚本的影片剪辑实例;在调用方法时,this包含对所调用方法的对象的引用;在按钮的on事件中,this引用包含该按钮的时间轴;在影片剪辑的onClipEvent事件中,this引用该影片剪辑自身的时间轴。
在一些的设计中,设计者需要让中某个元件(包括按钮)在触发后立即消失,那又该怎么做呢?可以通过隐藏或删除的方法:
this._visible = 0; //_visible属性决定了影片是否可见,影片不可见时会被禁用。
removeMovieClip(target); //该语句用来删除通过MovieClip对象的attachMovie 或 duplicateMovieClip 方法或是通过控制语句duplicateMovieClip创建的影片剪辑实体。
另外,读者可以自行指定按钮的透明度,使之一击则暗,再击则明,把这种按钮放在自己的作品中不也妙哉。