ant特别版是什么钢:FLASH按钮问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 15:24:43
在制作FLASH按钮的时候,分三帧,分别为鼠标没按,移动和按下。这样的按钮按过一次后,回到的还是鼠标没按的图片。我想做一个按钮按一次后,显示的是按下的图片。哪位大侠回答我一下,做课件用,谢谢!~有一个疑问,可以设置这样的一个按钮只播放一次吗,如果可以那就可以解决了。
是4帧,最后一帧就是反应区,跟这个没关系的吧?问题好解决请说一下如何解决? 谢!~

要解决你的这个问题,首先要引入一个东西,那就是新式按钮.他是与旧式按钮相对的,所谓旧式按钮便是大家熟悉的三种剪辑之一,这种按钮较为死板,要实现一些特效有些困难.自FLASH MX 2004后引入了新式按钮的概念,它具有旧式按钮所有的功能,除此之外它还有很多新的功能,可以实现许多旧式按钮不能实现的特效,但缺点就是没有旧式按钮创建方便,需要更多的编程.你上面提到的这一按钮特效用旧式的按钮就很难实现,所以下面我通过创建一个新式按钮来实现这一按钮特效.

首先我创建一个空的影片剪辑,之后打开该剪辑,在影片剪辑的前三帧内插入关键帧,在三个关键帧内放三张图片,这三张图片分别对应按钮的普通状态、经过状态和按下状态时的图片.
之后在放图片的图层上新建一个图层,同样在前三帧内插入三个关键帧,分别为三个帧添加帧标签(属性栏最左边)三帧分别设置为"up","over","down"(不要引号).设置完可看见三个帧上出现了三面小红旗……
再在刚才的图层上创建第三个图层,该图层用来放置脚本.同样先插入三个关键帧,第一帧里写入以下脚本:
stop();
第二帧写入:
var n=2;
stop();
第三帧写入:
var n=1;
stop();
先不用管脚本的意思,后面我会说明.
现在测试该剪辑可以看到还是一个普通的影片剪辑,要让它成为一个按钮还必须做以下的工作
将刚才创建的影片剪辑拖到舞台上,为其命名为"anniu"
在该关键帧内加入以下脚本:
anniu.onRollOver=buttonRollOver; //分配按钮处理函数
anniu.onRollOut=buttonRollOut;
anniu.onPress=buttonPress;
anniu.onDragOut=buttonDragOut;
anniu.onRelease=buttonRelease;
function buttonRollOver(){
anniu.gotoAndStop("over"); //鼠标经过按钮时的函数
}
function buttonRollOut(){
if(anniu.n==1){
anniu.gotoAndStop("down"); //鼠标离开按钮时,判断该按钮是否被点击过,如果点击过则停在down状态,否则则返回up状态
}
else {
anniu.gotoAndStop("up");
}
}
function buttonPress(){
anniu.gotoAndStop("down"); //鼠标点击函数
}
function buttonDragOut(){
anniu.gotoAndStop("down"); //鼠标点击后,拖离按钮函数
}
function buttonRelease(){
anniu.gotoAndStop("down"); //鼠标释放时函数
}

此时测试影片便可达到你想做出的特效了,按钮经过点击后,鼠标离开时还是显示按下的状态.
我在这里说的是最基本的实现方法,难免做出的按钮看起来有点简陋,如果还想实现更好的特效也是完全可以的,关键是看你脚本如何组织.呵呵,如果你有什么疑问或者哪里我没写清楚的话可以加我QQ:278658779 我会在QQ上为你解答.

你用的是flash的那个版本啊 按钮应该是 4 桢 才对的 你直接创建元件 然后选择 按钮 时间轴上显示的应该 有4桢 这样的话 你说的问题就很好解决了 我用过的flash mx 和 flash 8 都是4 桢