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

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
主站蜘蛛池模板: 国产精品大片在线观看 | 精品久久一区二区三区 | 午夜精品一区二区三区免费视频 | www.久久精品 | 91啪影院 | 日韩艹逼视频 | 午夜精品一区二区三区在线播放 | 国产天堂一区二区 | 日韩免费精品视频 | 激情欧美日韩一区二区 | 亚洲精品在线免费 | 黄色免费观看网站 | 国产又粗又大又爽视频 | 91精产国品一二三区在线观看 | 日韩在线中文 | 亚洲国产精品一区二区第一页 | 日韩一区二区三区四区五区 | 久久精品电影 | 色婷婷网 | 韩国精品主播一区二区在线观看 | 久久精品日产第一区二区 | 成人av一区二区三区 | 国产精品一区二区日韩新区 | 中文二区| 99成人| 久久精品久久久久久久久久久久久 | 99在线视频观看 | 亚洲91在线 | 国产成人精品一区二区三区四区 | 欧美色图第一页 | 午夜精品久久久久久久久久久久 | 亚洲一区 | 日韩和的一区二区 | 五月激情综合婷婷 | 黄色网址视频在线观看 | 国产一区二区精品 | 国产91极品 | 亚洲精品视频在线 | 日韩国产精品一区二区三区 | 欧美性猛交一区二区三区精品 | 狠狠色狠狠色合久久伊人 |