日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Flash AS 教程:多種圖片切換效果_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Flash AS教程:填色游戲的制作
先試試效果: 在本次課程中我們將學(xué)習(xí)使用 Color 類(lèi)來(lái)制作一個(gè)填色游戲,并通過(guò)本實(shí)例復(fù)習(xí) for...in 及 SharedObject 的應(yīng)用。 思路: 1.使用腳本代碼創(chuàng)建一個(gè)調(diào)色盤(pán),鼠標(biāo)點(diǎn)擊色塊后進(jìn)行取色; 2.繪制作為填充的影片剪輯并把每一部都存為影片剪輯。例如:填充對(duì)象是一

先看看效果:

這是我們經(jīng)常會(huì)在瀏覽網(wǎng)頁(yè)和論壇時(shí)看到的圖片轉(zhuǎn)場(chǎng)效果,制作這些效果我們會(huì)很自然想到用setMask函數(shù)來(lái)完成,在本節(jié)中我們將介紹七種基本轉(zhuǎn)場(chǎng)效果。

思路:
1. 注重共三張圖片,一張是底版(pic_old)放在最底層,一張是切換來(lái)的新圖(pic_new)放在中間層,最后還有一張用來(lái)做新圖的遮罩層(mask);
2. 新圖和底版的深度不要顛倒,新圖要比底版的深度高,否則會(huì)發(fā)生錯(cuò)誤;
3. 我們只在mask上面作文章,讓mask去加載遮罩物,這樣就可以完成許許多多不同的效果了。

步驟1:
(1) 繪制一個(gè)正方形(50*50),注冊(cè)點(diǎn)在中心,保存為影片剪輯連接—>導(dǎo)出—>標(biāo)志符 Rec;
(2) 繪制一個(gè)圓形(50*50),注冊(cè)點(diǎn)在中心,保存為影片剪輯連接—>導(dǎo)出—>標(biāo)志符 Cir;
(3) 導(dǎo)入圖片n張,均保存為影片剪輯,注冊(cè)點(diǎn)在左上(0,0)這些圖片的連接—>導(dǎo)出—>標(biāo)志符 分別從 pic1, pic2, pic3 ... ... picn

步驟2:
加入AS代碼:

var old_p:String;
//臨時(shí)變量用于存儲(chǔ)當(dāng)前圖片
var n:Number = 0;
//變量n為當(dāng)前所在圖片
var Num:Number = 5;
//Num圖片數(shù)量
//=======================================================
//鼠標(biāo)點(diǎn)擊后設(shè)置底版圖、新圖和遮罩層,并調(diào)用(PassEffect)
_root.onMouseDown = function() {
n = n < Num ? n : 1 ;
_root.createEmptyMovieClip("pic_old", -3);
pic_old.attachMovie(old_p, old_p, 1);
old_p = "pic" n;
_root.createEmptyMovieClip("pic_new", -2);
pic_new.attachMovie("pic" n, pic, 1);
_root.createEmptyMovieClip("mask", -1);
pic_new[pic].setMask(mask);
//在測(cè)試時(shí),可以把setMask這句注釋掉,可更好地觀察遮罩層的情況
PassEffect();
};

//============================================================


function PassEffect() {
switch (1 Math.floor(Math.random()*7)) {

//***************效果1[見(jiàn)附錄](méi)***************


//復(fù)制若干個(gè)圓,分布在每行每列,并使每個(gè)圓的大小不斷增加至覆蓋整張圖
case 1 :
for (i=0; i<7; i ) {
for (j=0; j<6; j ) {
var p:MovieClip = mask.attachMovie("Cir", "Cir" i*10 j,
i*10 j);
//注重這里是mask.attachMovie(),加載來(lái)的圖形都屬于遮罩層(mask)
p._width = 20;
p._height = 20;
p._x = 20 i*60;
p._y = 20 j*60;
p.onEnterFrame = function() {
if (this._width<180) {
this._width = this._height = 8;
} else {
delete this.onEnterFrame;


}
};
}
}
break;
//=================================================================

//***************效果2[見(jiàn)附錄](méi)***************

//復(fù)制一個(gè)正方形,放入舞臺(tái)中心,設(shè)置他其初始大小為10*10,并放大
case 2 :
var p:MovieClip = mask.attachMovie("Rec", Rec, 1);
p._width = 10;
p._height = 10;
p._x = Stage.width/2;
p._y = Stage.height/2;
p.onEnterFrame = function() {
if (this._width
this._width = 40;
this._height = 40;
} else {
delete this.onEnterFrame;
}
};
break;
//=================================================================

//***************效果3[見(jiàn)附錄](méi)****************

//復(fù)制一個(gè)正方形,其初始大小比舞臺(tái)的尺寸多一些,使其移動(dòng)到舞臺(tái)中心
case 3 :
var p:MovieClip = mask.attachMovie("Rec", "Rec" 1, 1);
p._width = Stage.width 10;
p._height = Stage.height 10;
p._x = 0-p._width;
p._y = 0-p._height;
p.onEnterFrame = function() {
this._x = (Stage.width/2-this._x)*0.3;
this._y = (Stage.height/2-this._y)*0.3;
};
break;
//=================================================================

//***************效果4[見(jiàn)附錄](méi)***************

//復(fù)制二個(gè)正方形,放到舞臺(tái)外的左右各一個(gè),使它們都向舞臺(tái)中心移動(dòng)
case 4 :
var p:MovieClip = mask.attachMovie("Rec", "Rec" 1, 1);
p._width = Stage.width;
p._height = Stage.height;
p._x = -p._width/2;
p._y = Stage.height/2;
p.onEnterFrame = function() {
if (this._x
this._x = 15;
} else {
delete this.onEnterFrame;
}
};
var p:MovieClip = mask.attachMovie("Rec", "Rec" 2, 2);
p._width = Stage.width;
p._height = Stage.height;
p._x = Stage.width p._width/2;
p._y = Stage.height/2;
p.onEnterFrame = function() {
if (this._x>Stage.width/2) {
this._x -= 15;
} else {
delete this.onEnterFrame;
}
};
break;
//=================================================================

//***************效果5[見(jiàn)附錄](méi)***************

//隨機(jī)產(chǎn)生兩種傾斜角度,用一個(gè)遞增變量d_time來(lái)控制每個(gè)遮罩物的開(kāi)始時(shí)間
case 5 :
if (Math.random()<=0.5) {
var rotation = 45;
} else {
var rotation = -45;
}
for (i=-10, d_time=0; i<30; i , d_time ) {
var p:MovieClip = mask.attachMovie("Rec", "Rec" d_time, d_time);
p._width = 0;
p._height = Stage.height*2;
p._x = p._width/2 i*20;
p._y = Stage.height/2;
p._rotation = rotation;
p.delay = d_time;
p.start_time = 0;
p.onEnterFrame = function() {
if (this.start_time
this.start_time = 3;
} else if (this._xscale<30) {
this._xscale = 2;
} else {
delete this.onEnterFrame;
}
};
}
break;
//=================================================================

//***************效果6[見(jiàn)附錄](méi)***************

//與效果5相近,但在遮罩物的尺寸及位置上要略加改動(dòng)
case 6 :
if (Math.random()<=0.5) {
for (i=0; i<45; i ) {
var p:MovieClip = mask.attachMovie("Rec", "Rec" i, i);
p._width = 0;
p._height = Stage.height 10;
p._x = i*10;
p._y = Stage.height/2;
p.delay = i;
p.start_time = 0;
p.onEnterFrame = function() {
if (this.start_time
this.start_time = 3;
} else if (this._xscale<30) {
this._xscale = 2;
} else {
delete this.onEnterFrame;
}
};
}
} else {
for (i=0; i<35; i ) {
var p:MovieClip = mask.attachMovie("Rec", "Rec" i, i);
p._width = Stage.width 10;
p._height = 0;
p._x = Stage.width/2;
p._y = i*10;
p.delay = i;
p.start_time = 0;
p.onEnterFrame = function() {
if (this.start_time
this.start_time = 3;
} else if (this._yscale<30) {
this._yscale = 2;
} else {
delete this.onEnterFrame;
}
};
}
}
break;
//=================================================================

//***************效果7[見(jiàn)附錄](méi)***************

//復(fù)制長(zhǎng)條,均放在舞臺(tái)外的上方,并使Y坐標(biāo)有所差異,向下運(yùn)動(dòng)
case 7 :
for (i=0; i<40; i ) {
var p:MovieClip = mask.attachMovie("Rec", "Rec" i, i);
p._width = 10;
p._height = Stage.height 50;
p._x = p._width/2 i*p._width;
p._y = -p._height Math.random()*50;
p.onEnterFrame = function() {
if (this._y
this._y = 20;
} else {
delete this.onEnterFrame;
}
};
}
break;
}
}

Flash充電1: MovieClip.setMask 方法 mc.setMask(mask:Object): 使參數(shù) mask 中的影片剪輯成為 mc 的遮罩層。

Flash充電2:
條件運(yùn)算符(三目運(yùn)算) ? :格式:expression1 ? expression2 : expression3
例如:
var x:Number = 5;
var y:Number = 10;
var z = (x < 6) ? x: y;
trace (z);
// returns 5

附錄:
效果1:


效果2:

效果3:

效果4:

效果5

效果6:

效果7:

分享:Flash入門(mén)教程:滾動(dòng)字幕動(dòng)畫(huà)的制作(1)
在Flash中圖層與圖層之間的關(guān)系不僅是上面圖層擋住下面的圖層,而且還是互相制約的,其中遮罩層與被遮罩層的關(guān)系就是這樣的。這里通過(guò)一個(gè)簡(jiǎn)單的例子“滾動(dòng)字幕”,來(lái)加以說(shuō)明。 做動(dòng)畫(huà)之前,我們先來(lái)看一下遮罩的原理:遮罩層的對(duì)象外形就是被遮罩層的可見(jiàn)區(qū)域。說(shuō)白

來(lái)源:大師之家//所屬分類(lèi):Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程