国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Flash AS3.0教程:學(xué)習(xí)幀循環(huán)的運(yùn)用

Flash AS3.0教程:學(xué)習(xí)幀循環(huán)的運(yùn)用

來(lái)源:中國(guó)教程網(wǎng)
http://www.ccw.com.cn 2009-11-17 00:38:40

本例為Flash AS3.0菜鳥(niǎo)學(xué)飛系列教程,在上一講中我們學(xué)習(xí)了含有多個(gè)類(lèi)的AS3類(lèi)文件的寫(xiě)法,在這一講中我們來(lái)學(xué)習(xí)幀循環(huán)的運(yùn)用,希望能給初學(xué)Flash AS編程的朋友帶來(lái)幫助~~

多幀循環(huán)

Flash中的幀在默認(rèn)情況下是循環(huán)執(zhí)行的,租用gotoAndPlay()函數(shù)可以實(shí)現(xiàn)簡(jiǎn)單的幀循環(huán),而實(shí)現(xiàn)代碼的重復(fù)執(zhí)行。

gotoAndPlay()函數(shù)的用途是控制或改變影片剪輯的播放流程,如果在影片的第1幀畫(huà)面中放置需要重復(fù)執(zhí)行的程序,然后在第2幀加入gotoAndPlay(1)語(yǔ)句。反復(fù)執(zhí)行第1幀畫(huà)面的程序,那么gotoAndPlay()函數(shù)就構(gòu)成了一個(gè)循環(huán)程序結(jié)構(gòu)。

gotoAndPlay()函數(shù)沒(méi)有條件判斷功能,是無(wú)條件重復(fù)的循環(huán)結(jié)構(gòu)。但可以和if語(yǔ)句一起使用。形成具有判斷終止條件功能的循環(huán)。

下面用幀循環(huán)制作勻速運(yùn)動(dòng):

1、新建Flash文檔

2、在圖層1的第一幀創(chuàng)建一個(gè)實(shí)例名為mc的影片剪輯實(shí)例

3、新建as層,單擊第1幀輸入代碼:

//得到mc的橫坐標(biāo)

var dx:Number = mc.x;

//定義速度

var speed:Number = 10;

4、在as層的第2幀插入空白幀,輸入代碼;

//橫坐標(biāo)加上速度

dx += speed;

//設(shè)置mc的橫坐標(biāo)

mc.x = dx;

5、在as層的第3幀插入空白幀,輸入代碼:

//判斷是否超出舞臺(tái)邊界

if(dx < stage.stageWidth)

{

//跳到第2幀并播放

this.gotoAndPlay(2);

//如超出舞臺(tái)的右邊界

} else

{

//停止播放

this.stop();

}

stage是Stage類(lèi)的實(shí)例,Stage類(lèi)有名為stageWidth的屬性,表示舞臺(tái)的寬度。

6、測(cè)試影片,可以看到影片實(shí)例會(huì)一直運(yùn)動(dòng)到舞臺(tái)的右邊界。

從測(cè)試結(jié)果看,影片的運(yùn)動(dòng)并不流暢,這與幀頻和幀循環(huán)結(jié)構(gòu)有關(guān)。Flash默認(rèn)幀頻是12FPS,就是一秒播放12幀。上面的程序由于使用了幀跳轉(zhuǎn)語(yǔ)句,實(shí)際需要每播放兩幀才會(huì)執(zhí)行第2幀的代碼一次,這就是說(shuō)第2幀的代碼執(zhí)行頻率是6FPS,所以動(dòng)畫(huà)效果會(huì)顯得不流暢。

圖層結(jié)構(gòu)圖示:

上面的例子執(zhí)行代碼的速度只有幀頻的一半,而且代碼分散,不適合制作復(fù)雜的應(yīng)用程序。我們可以利用enterFrame事件以幀頻的速度執(zhí)行代碼,而且代碼可以集中在一幀。

用enterFrame事件制作勻速運(yùn)動(dòng):

1、新建Flash文檔

2、在圖層1創(chuàng)建一個(gè)實(shí)例名為mc的影片剪輯

3、新建as圖層,單擊第1幀,輸入代碼:

//動(dòng)態(tài)更改幀頻

stage.frameRate = 30;

//獲取mc初始位置

var dx:Number = mc.x;

//定義速度

var speed:Number = 5;

//注冊(cè)偵聽(tīng)器

mc.addEventListener(Event.ENTER_FRAME,onMove);

//定義事件接收函數(shù)

function onMove(e:Event)

{

//坐標(biāo)加速度

dx += speed;

//影片剪輯的坐標(biāo)

e.target.x = dx;

//如果影片運(yùn)動(dòng)到舞臺(tái)右邊界

if(ds > stage.stageWidth)

{

//移除enterFrame事件

mc.removeEventListener(Event.ENTER_FRAME,onMove);

}

}

代碼使用了Event類(lèi)的ENTER_FRAME屬性,接收函數(shù)中參數(shù)e是Event類(lèi)的實(shí)例,它具有target屬性,target表示事件發(fā)送者mc。

4、測(cè)試影片

使用enterFrame事件可實(shí)現(xiàn)代碼的重復(fù)執(zhí)行,它執(zhí)行的速度與幀頻有關(guān)。

提示:當(dāng)不需要使用enterFrame事件時(shí),一定要用removeEventListener()函數(shù)來(lái)刪除enterFrame事件。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Flash中的load、onEnterFrame、onClipEvent(enterFra...
Flash AS 實(shí)例進(jìn)階
Actionscript 優(yōu)化指南
FLASH8用于時(shí)間軸上的函數(shù)
ActionScript菜鳥(niǎo)基礎(chǔ)終極教程3
Flash腳本的執(zhí)行順序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服