打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ActionScript3.0写的flash菜单(十五)_鑫鑫原创-我的技术,我的知识_百...
ActionScript3.0写的flash菜单(十五)
2009-01-22 18:58
老规矩,写上效果图:

点击此处预览效果

今天写这个收获不小:

一是影片剪辑内部this的指向与ActionScript2.0意义一样,所以很多ActionScript 2.0中经常使用的as算法在ActionScript 3.0中亦可使用,很好很强大。

而是理解了一类动画特效的实现原理。两个影片剪辑,一个半遮罩,一个无遮罩,一个向上运动,一个向下,通过控制其运动就会实现图片拼合显示的特效了。

控制影片剪辑本身随鼠标距离放大缩小的代码:

var max_scale = 130;
var min_scale = 50;
var max_alpha = 100;
var min_alpha = 50;

var speed = 5;

function getDistance():Number {
var distance = 0;
var con = 1.3;
distance = Math.abs(this.y-this.parent.mouseY);
return distance * con;
}

function setscale() {
var distance = getDistance();
var target_scale = max_scale-distance;
if (target_scale<min_scale) {
   target_scale = min_scale;
}
var next_scale:Number = this.scaleX+((target_scale-this.scaleX)/speed);
return next_scale;
}

function setAlpha() {
var distance = getDistance();
var target_alpha = max_alpha-distance;

if (target_alpha<min_alpha) {
   target_alpha = min_alpha;
}
var next_alpha:Number = this.alpha+((target_alpha-this.alpha)/speed);
return next_alpha;
}

function going(e:Event) {
var next_scale = setscale();
var next_alpha = setAlpha();
this.scaleX = next_scale/20;
this.scaleY = next_scale/20;
this.alpha = next_alpha/20;
}

this.addEventListener("enterFrame",going);

主时间轴代码(按钮事件):

import fl.transitions.*;
import fl.transitions.easing.*;

a_btn.addEventListener("mouseDown",fruit_a);
b_btn.addEventListener("mouseDown",fruit_b);
c_btn.addEventListener("mouseDown",fruit_c);
d_btn.addEventListener("mouseDown",fruit_d);

function fruit_a(me:MouseEvent){
s_mc.visible=false;
var mytween1:Tween=new Tween(bot_mc,"y",Strong.easeOut,380,80,0.3,true);
var mytween2:Tween=new Tween(top_mc,"y",Strong.easeOut,-1120,-820,0.3,true);
}
function fruit_b(me:MouseEvent){
s_mc.visible=false;
var tween1:Tween=new Tween(bot_mc,"y",Strong.easeOut,380,-220,0.3,true);
var tween2:Tween=new Tween(top_mc,"y",Strong.easeOut,-1120,-520,0.3,true);
}
function fruit_c(me:MouseEvent){
s_mc.visible=false;
var tween1:Tween=new Tween(bot_mc,"y",Strong.easeOut,380,-520,0.3,true);
var tween2:Tween=new Tween(top_mc,"y",Strong.easeOut,-1120,-220,0.3,true);
}
function fruit_d(me:MouseEvent){
s_mc.visible=false;
var tween1:Tween=new Tween(bot_mc,"y",Strong.easeOut,380,-820,0.3,true);
var tween2:Tween=new Tween(top_mc,"y",Strong.easeOut,-1120,80,0.3,true);
}

又是Tween函数应用,还是那句话,使用方便,快捷。

swf文件下载

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
as3图片放大的方法
Flash制作鼠标感应的心型漂浮动画
flash制作实例:图片翘转缩放拖动
javascript中的时间版运动
AS3: Sprite的鼠标经过事件,Tween缓动alpha的简单例子。 .
使用 TimelineLite
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服