用Flash设计透明按钮
网络与通信
很多朋友学习Flash的时候都抱怨Actions不太好学,有点难。所以笔者想借助本文给大家提供一次学习的机会,增强一下信心──原来AS也不难学嘛!此目的一也。另外,主要还是给大家介绍一种另类按钮──透明按钮的制作方法。
一、设计步骤
1.点选“Windows”菜单下“Common Libraries”选项菜单中的“Button”命令,打开“Button”(按钮)库,然后从“Key Bottons”文件夹中拖一个按钮到场景中(图1)。

2.鼠标左键点选场景中的按钮,给这个按钮起一个实体名称“mc”(图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创建的影片剪辑实体。
另外,读者可以自行指定按钮的透明度,使之一击则暗,再击则明,把这种按钮放在自己的作品中不也妙哉。