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

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
主站蜘蛛池模板: 国产精品97在线 | 一区二区三区播放 | 国产高清精品一区二区三区 | 日本亚洲精品成人欧美一区 | 综合久久亚洲 | 成人一区二区在线 | 一区二区免费 | 欧美精品在欧美一区二区少妇 | av网站免费观看 | 夜夜夜操 | 久久精品视频免费看 | 国产精品一区在线观看 | 日韩一区二区在线观看 | 欧美日韩高清一区 | 国产精品色在线网站 | 日本精品久久 | 热久久这里只有精品 | 一区二区国产精品 | 最新av在线网址 | 精品亚洲一区二区三区四区五区 | 国产精品一区在线看 | 狠狠躁日日躁夜夜躁影院 | 亚洲精品视频免费在线 | 国产精品视频免费播放 | 国产精品久久久久久久久久久久 | 91久久精品国产 | 国产一区二区三区在线 | 五月天最新网址 | 久久久久久精 | 欧美成人在线影院 | 欧美日韩综合 | 999国产| www久久久久| 黄色av资源| 蜜桃av人人夜夜澡人人爽 | 成人免费在线视频观看 | 在线成人 | 精品三区在线观看 | 欧美日韩在线视频一区 | 日韩 国产 欧美 | 国产精品精品视频一区二区三区 |