国产乱视频网站_久久亚洲一区二区三区四区_免费高清一级毛片_国产精品电影_国产精品乱码一区二区三区_美女天堂网

PS設(shè)計(jì)教程網(wǎng)歡迎你!

Flash AS3教程:幀循環(huán)學(xué)習(xí)實(shí)例

文章來源于 中國教程網(wǎng)論壇,感謝作者 cao4811 給我們帶來經(jīng)精彩的文章!
設(shè)計(jì)教程/設(shè)計(jì)教程/Flash教程2009-10-22
本例為Flash AS3.0菜鳥學(xué)飛系列教程,在上一講中我們學(xué)習(xí)了含有多個(gè)類的AS3類文件的寫法,在這一講中我們來學(xué)習(xí)幀循環(huán)的運(yùn)用,希望能給初學(xué)Flash AS編程的朋友帶來幫助~~

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

學(xué)習(xí)AS3菜鳥起飛吧之幀循環(huán)

多幀循環(huán)

Flash中的幀在默認(rèn)情況下是循環(huán)執(zhí)行的,租用gotoAndPlay()函數(shù)可以實(shí)現(xiàn)簡單的幀循環(huán),而實(shí)現(xiàn)代碼的重復(fù)執(zhí)行。
 gotoAndPlay()函數(shù)的用途是控制或改變影片剪輯的播放流程,如果在影片的第1幀畫面中放置需要重復(fù)執(zhí)行的程序,然后在第2幀加入gotoAndPlay(1)語句。反復(fù)執(zhí)行第1幀畫面的程序,那么gotoAndPlay()函數(shù)就構(gòu)成了一個(gè)循環(huán)程序結(jié)構(gòu)。
 gotoAndPlay()函數(shù)沒有條件判斷功能,是無條件重復(fù)的循環(huán)結(jié)構(gòu)。但可以和if語句一起使用。形成具有判斷終止條件功能的循環(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類的實(shí)例,Stage類有名為stageWidth的屬性,表示舞臺(tái)的寬度。

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

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

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

Flash AS3教程:幀循環(huán)學(xué)習(xí)實(shí)例

上面的例子執(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è)偵聽器
  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類的ENTER_FRAME屬性,接收函數(shù)中參數(shù)e是Event類的實(shí)例,它具有target屬性,target表示事件發(fā)送者mc。

進(jìn)入論壇參與討論:http://www.missyuan.com/viewthread.php?tid=425913

 

4、測試影片
使用enterFrame事件可實(shí)現(xiàn)代碼的重復(fù)執(zhí)行,它執(zhí)行的速度與幀頻有關(guān)。
提示:當(dāng)不需要使用enterFrame事件時(shí),一定要用removeEventListener()函數(shù)來刪除enterFrame事件。

版權(quán)所有PS設(shè)計(jì)教程網(wǎng)公安備案:蘇公網(wǎng)安備 32058302001023號(hào)工信部備案:滬ICP備09005587號(hào)
aaa
主站蜘蛛池模板: 日韩精品网站 | 热久久这里只有精品 | 亚洲一级在线观看 | 中文久久 | 日本免费一二区 | 亚洲一区二区在线播放 | 天天天干干干 | 日韩一区欧美 | 欧美一区二区三区视频 | 日韩欧美在线播放视频 | 三级网站在线 | 欧美久久久久久久久久久久 | 久久久综合视频 | 欧美精品久 | 狠狠色噜噜狠狠狠狠69 | 日韩中文字幕一区二区 | 视频精品一区二区 | 日本视频免费看 | 成人在线一区二区 | 男女羞羞视频在线免费观看 | 国内精品久久久久国产 | 九九人人 | 亚洲自拍电影 | 中文字幕二三区不卡 | 自拍偷拍亚洲欧洲 | 伊人免费观看视频 | 男女羞羞视频在线 | 精品无人乱码一区二区三区 | 日韩欧美一区二区三区免费观看 | 一区二区三区四区精品 | 国产精品久久久久国产a级 日韩在线二区 | 日本黄a | 国产免费自拍av | 欧美精品一区二区久久 | 午夜久久 | 成人网址在线观看 | 日韩在线免费 | 成人av免费 | 色成人免费网站 | 在线视频这里只有精品 | 激情综合色综合久久综合 |