一是影片剪輯內(nèi)部this的指向與ActionScript2.0意義一樣,所以很多ActionScript 2.0中經(jīng)常使用的as算法在ActionScript 3.0中亦可使用,很好很強大。
而是理解了一類動畫特效的實現(xiàn)原理。兩個影片剪輯,一個半遮罩,一個無遮罩,一個向上運動,一個向下,通過控制其運動就會實現(xiàn)圖片拼合顯示的特效了。
控制影片剪輯本身隨鼠標(biāo)距離放大縮小的代碼:
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函數(shù)應(yīng)用,還是那句話,使用方便,快捷。
swf文件下載