日本a在线观看_久久久三区_久久99精品久久久久久国产越南_在线观看中文字幕av_国产精品久久久久久久久久东京_a免费视频

PS設計教程網歡迎你!

Flash CS4制作質感的水晶泡泡(2)

文章來源于 閃吧,感謝作者 love黃家駒 給我們帶來經精彩的文章!
設計教程/設計教程/Flash教程2009-10-13
(6)下面是元件類擴展類。該類有三個私有屬性,如第11到13行代碼所示,我們在第22、第25行代碼分別定義其屬性對應的get()方法,為該元件類實例提供可訪問對應屬性的接口,第三個屬性還提供set()方法,如第29行代

(6)下面是元件類擴展類。該類有三個私有屬性,如第11到13行代碼所示,我們在第22、第25行代碼分別定義其屬性對應的get()方法,為該元件類實例提供可訪問對應屬性的接口,第三個屬性還提供set()方法,如第29行代碼所示。在該類構造函數中還初始化了三個屬性,分別產生隨機的newX、newY值,如第17到19行代碼所示。AS3代碼:

/**
* 該類為擴展元件類
* @author lbynet
* @version 0.1
*/
package {
import flash.display.Sprite;
public class Ball_mc extends Sprite {
private var newX:Number;
private var newY:Number;
private var W:Number;
public function Ball_mc() {
this.newX = 1 + Math.random()*100; //x軸上的隨機速度
this.newY = 1 + Math.random()*20; //y軸上的隨機速度
this.W = 0;//用于改變 x軸上的隨機速度 值
}
public function get _newX():Number{
return this.newX;
}
public function get _newY():Number{
return this.newY;
}
public function set _W(i:Number){
this.W = i;
}
public function get _W():Number{
return this.W;
}
}
}

 

(7) 下面的Main類是本實例的文檔類,該類定義了三個屬性,分別是存儲水泡總數、數量累加變量和隨機寬、高比例值, 第12到14行代碼所示。在構造函數中調用init()方法進行初始化兩個屬性值,并注冊ENTER_FRAME 事件偵聽器,如第20到22行代碼所示。

/**
* 該類為主程序類
* @author lbynet
* @version 0.1
*/
package {
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite {
private var totalNum:uint;
private var i:uint;
private var dim:Number;
public function Main() {
init();
}
private function init() {
this.totalNum = 70;
this.i = 0;
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}

 

(8)下面是兩個偵聽器函數,enterFrameHandler是前面注冊的偵聽器對應的函數,該函數創建了totalNum+1個Ball_mc實例,并實例的y坐標值統一設置在舞臺高度之外,如第29到31行代碼所示。接著我們在第33行代碼中隨機生成一個0到1之間的隨機小數,并與生成的Ball_mc實例對應的寬、高進行相乘得到隨機的寬、高值,如第33到35行代碼所示。If()語句的最后將Ball_mc實例添加到顯示列表并注冊ENTER_FRAME 事件偵聽器,和進行i值的累加,如第37到39行代碼所示。

AS3代碼

private function enterFrameHandler(event:Event) {
var _mc:Sprite;
if (this.i <= totalNum) {
_mc = new Ball_mc();
_mc.y = stage.stageHeight;
this.dim = Math.random();
_mc.width *= dim;
_mc.height *= dim;
addChild(_mc);
_mc.addEventListener(Event.ENTER_FRAME, removeEnterFrameHandler);
this.i++;
}
}
private function removeEnterFrameHandler(event:Event) {
var _mc:* = event.target as Sprite;
_mc._W += .1;
_mc.x = Math.sin(_mc._W)*_mc._newX + stage.stageWidth/2;
_mc.y -= _mc._newY;
if (_mc.y <= 0) {
_mc.removeEventListener(Event.ENTER_FRAME, removeEnterFrameHandler);
removeChild(_mc);
this.i--; //使得i的值小于totalNum,從而重新創建water_mc
}
}
}

 

(9)removeEnterFrameHandler是生成的每個Ball_mc實例對應的偵聽器函數,在該函數中,我們對Ball_mc實例的W屬性進行累加,并設置其X、Y坐標值,如上圖中第45到48行代碼所示,其中X坐標值被設置為舞臺中間大小 + 對應Ball_mc實例的newX屬性值 *  其W屬性的正弦值,如上圖中第47行代碼所示,從而使對應Ball_mc實例在舞臺中間的左右來回作運動,而在Y軸方向上賦予其newY值,使其產生Y軸方向上的遞減(也就是Ball_mc實例向上運動),如上圖中第48行代碼所示,最終產生盤旋上升效果,如本例效果圖所示。下圖所示是本例所使用的三角函數簡單原理圖。

Flash CS4制作質感的水晶泡泡

圖10-6 三角函數原理

(10) 當Ball_mc實例運動致舞臺上方外,便清除該實例注冊的ENTER_FRAME 事件偵聽器和該該實例,并進行i值的遞減,如步驟(7)第50到55行代碼所示。我們還可以擴展思路,創作更多效果,如下圖所示的小球從向而上運動,作類似噴泉效果。還可以做各種類似冒泡效果。
 

Flash CS4制作質感的水晶泡泡Flash CS4制作質感的水晶泡泡

圖10-7 擴展實例

進入論壇參與討論和交作業:http://www.missyuan.com/viewthread.php?tid=424460

版權所有PS設計教程網公安備案:蘇公網安備 32058302001023號工信部備案:滬ICP備09005587號
aaa
主站蜘蛛池模板: 欧美日韩爱爱视频 | 成人一区二区在线观看视频 | av电影手机在线看 | 护士xxxx| 蜜桃网站在线观看 | 有色视频在线观看 | 福利在线免费 | 精品亚洲一区二区 | 精品国产91久久久 | 亚洲射逼| 日本成年免费网站 | 极品大长腿啪啪高潮露脸 | 毛片a级毛片免费播放100 | 欧美日韩亚洲一区二区三区 | 在线视频 日韩 | 久久逼逼| 久久91精品国产91久久yfo | 欧美一级一区二区三区 | 国产精品爱久久久久久久 | 国产精品啪 | 午夜精品成人 | 免费毛片免费看 | 夜夜看| 一本色道久久综合亚洲精品图片 | 国产品久久 | 1024亚洲天堂 | 免费国产在线视频 | 欧美h版在线观看 | 精品国产一区二区三区久久久 | 91精品免费在线 | 2级毛片 | 国产成人在线播放视频 | 国产精品一品二区三区四区18 | 中文字幕www. | 91精品国产综合久久男男 | 久草在线小说 | 一区二区三区视频在线观看 | 视频一区二区三区在线播放 | 国产在线91 | 亚洲日本欧美 | 日日做夜夜操 |