在一些flash贺卡里面,我们有时需要用到这样一个效果.
比如: 页面中有两个 按钮,一个为"爱",另一个为"不爱",当鼠标移向"不爱"按钮时,"不爱"按钮会跑开,不让点击.
通常我们是通过跳帧来实现这样的效果,但有个缺点,"不爱"按钮的坐标位置总是固定为几个.现在让我们来换个方法,看看as代码实现的效果是不是更加得逼真.
首先,在场景上建立两个按钮; 并分别取好实例名称.本例中"不爱"按钮为pop;然后在时间轴上新建一图层,命名为action;按f9 打开动作面板,输入下面得代码:
//当鼠标移动时,判断鼠标和不爱按钮之间的距离
pop.onMouseMove= function(){
if(int(_xmouse-pop._x)<80&int(_ymouse-pop._y)<40){
pop._x=random(500)+30;
pop._y=random(350)+30;
}
//下面是附加的功能,当按住ctrl键的时候,允许用户点击"不爱"按钮
if(Key.isDown(Key.CONTROL)){
pop._x=315;
pop._y=150;
}else{
info="";
}
}
//下面是"不爱"按钮点击后的测试效果
pop.onRelease=function(){
getURL("javascript :alert('呵呵,被你点到了 \n\n ^_^')");
info="呵呵,被你点到了^_^";
}
OK,现在保存,发布一下,看看效果是不是好多了呢?下面是完成后的效果.
点击浏览该文件
源文件
点击浏览该文件
ps:如果将此flash文件放置于Html页面中,则请点击一下此Flash文件,以保证Flash能够捕捉到Ctrl键按下事件
