在FLASH互动中,建造导航是经常会碰到的,在之前的经验分享中,我们已经进修过若何把影片剪辑作为按钮利用,在这里进行延展,建造简单的导航栏。
起首,新建AS3文档(在AS2代码中,这里需要新建AS2文档)。
建造三个影片剪辑,影片剪辑的图层布局如下,上层为代码层,代码都是stop();
第二层是文字层,要转换当作图形元件,并建造补间动画,文字放年夜(吧友要的结果)
第三层是图形层,建造外形补间动画,由透明外形改变为红色框外形。
在舞台上复制出两个同样的影片剪辑,别离右键选择直接复制。
进入影片剪辑编纂状况,对文字层进行点窜,在第一帧选择文字元件右键选择直接复制,最后一帧选择文字元件,右键选择互换元件,互换为直接复制时生当作的元件。再进入文字元件的编纂状况改变文字内容,同样对第三个影片剪辑进行处置。
三个影片剪辑处置完当作如下图所示。
设置三个影片剪辑的实例名别离为btn0,btn1,btn2,最后在本家儿时候轴的帧上编写如下代码:
var btn_count:int=3;//按钮数目
var btn_index:int=-1;//按钮索引,用于标识表记标帜那时选择的是哪个软件,初始状况按钮均处于弹起状况
init();//初始化按钮
function init():void
{
for(var i:int=0;i<btn_count;i++)
{
this["btn"+i].buttonMode=true;//鼠标颠末时显示小手
this["btn"+i].addEventListener(MouseEvent.CLICK,ClickBtnEvent);//添加鼠标点击事务
}
}
function ClickBtnEvent(e:MouseEvent):void
{
var obj:Object=e.currentTarget;//获取点击对象
var t:int=int(obj.name.slice(3));//获取点击对象的索引值
if(t==btn_index)//若是按钮处于被点击状况,则无反映
{
return;
}
if(btn_index!=-1)//若是索引不是-1,即有按钮被点击了,则要重置被点击的按钮
{
this["btn"+btn_index].addEventListener(Event.ENTER_FRAME,PlayBackEvent);
}
btn_index=t;//取得索引值
obj.gotoAndPlay(2);//被点击按钮做出反映
}
function PlayBackEvent(e:Event):void//按钮回复复兴
{
var obj:Object=e.target;
if(obj.currentFrame!=1)
{
obj.prevFrame();
}
else
{
obj.removeEventListener(Event.ENTER_FRAME,PlayBackEvent);
}
}
运行即可看到结果。
AS2文档的代码如下(其它内容建造同AS3):
var btn_count:Number=3;//按钮数目
var btn_index:Number=-1;//按钮索引,用于标识表记标帜那时选择的是哪个软件,初始状况按钮均处于弹起状况
init();//初始化按钮
function init()
{
for(var i:Number=0;i<btn_count;i++)
{
this["btn"+i].onRelease=function()//添加鼠标点击事务
{
var t:Number=Number(this._name.slice(3));//获取点击对象的索引值
if(btn_index!=-1)//若是索引不是-1,即有按钮被点击了,则要重置被点击的按钮
{
this._parent["btn"+btn_index].onEnterFrame=function()
{
if(this._currentframe!=1)
{
this.prevFrame();
}
else
{
this.onEnterFrame=null;
}
}
}
btn_index=t;//取得索引值
this.gotoAndPlay(2);//被点击按钮做出反映
}
}
}
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!