亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

flash as3.0粒子效果實例教程

系統 1846 0

1、新建Flash文檔,設置:寬、高為 400 × 400 ,保存。
2、用橢圓工具在舞臺上畫一個 20 × 20 大小的圓。 (你能選擇任意的顏色)
3、右鍵單擊圓形,把它轉換成影片剪輯,注冊點居中。
4、在ActionScript導出的復選框中打勾 ,做類鏈接,類名為" Particle " 。圖1:

5、把圓形從舞臺刪除,新建ActionScript 3.0文件。圖2:

6、我們編寫一個外部的Particle類。在編譯器中輸入代碼:
package?{
????????import?flash.display.MovieClip;
????????public?class?Particle?extends?MovieClip?{
????????????????//We?need?different?speeds?for?different?particles.
????????????????//These?variables?can?be?accessed?from?the?main?movie,?because?they?are?public.
????????????????public?var?speedX:Number;
????????????????public?var?speedY:Number;
????????????????public?var?partOfExplosion:Boolean?=?false;
????????????????function?Particle?():void?{
????????????????}
????????}
}7、保存在fla文件的同一目錄下,名為 " Particle " 。圖3:

8、切換到我們的fla主文檔。首先我們在舞臺上生成粒子實例。在第一幀輸入代碼:
//We?need?few?imports?for?the?color
import?fl.motion.Color;
import?flash.geom.ColorTransform;
/*We?want?20?particles?at?the?start
particlesArray?is?used?when?we?animate?each?particle?*/
var?numberOfParticles:Number?=?20;
var?particlesArray:Array?=?new?Array();
//Each?time?a?hit?occurs,?we?want?to?create?10?new?particles
var?numberOfExplosionParticles:uint?=?10;
//This?loop?creates?the?first?particles?and?gives?them?speed?and?coordinates
for?(var?i=0;?i?
9、測試你的影片,效果如圖。圖4:

?
?
10、隨機地選擇一個粒子產生爆炸效果。爆炸后,生成新的粒子。最后,刪除舞臺上爆炸的粒子。把下列代碼塊加入到動作面板: //Call?for?the?first?explosion
startExplosions?();
/*This?function?makes?a?random?particle?to?explode.
From?here,?the?chain?reaction?begins.*/
function?startExplosions?():void?{
????????//Select?a?random?particle?from?an?array
????????var?index?=?Math.round(Math.random()?*?(particlesArray.length-1));
????????var?firstParticle:Particle?=?particlesArray[index];
????????//Set?a?random?tint
????????var?ct:Color?=?new?Color();
????????ct.setTint?(0xFFFFFF?*?Math.random(),1);
????????//Create?10?new?particles?because?of?explosion
????????for?(var?i=0;?i?11、添加方法 enterFrameHandler,更新粒子坐標,使粒子動起來。輸入下列代碼:
//This?function?is?responsible?for?the?animation
function?enterFrameHandler?(e:Event):void?{
????????//Loop?through?every?particle
????????for?(var?i=0;?i?12、方法 " checkForHit" 是最難的部份,碰撞檢測。輸入代碼:
/*This?function?checks?whether?two?particles?have?collided*/
function?checkForHit?(particleOne:Particle,?particleTwo:Particle):void?{
????????/*Let’s?make?sure?we?only?check?those?particles,?where?one?is?moving?and?the?other
????????is?stationary.?We?don’t?want?two?moving?particles?to?explode.?*/
????????if?((particleOne.partOfExplosion?==?false?&&?particleTwo.partOfExplosion?==?true)?||
????????particleOne.partOfExplosion?==?true?&&?particleTwo.partOfExplosion?==?false?)?{
????????????????//Calculate?the?distance?using?Pythagorean?theorem
????????????????var?distanceX:Number?=?particleOne.x?-?particleTwo.x;
????????????????var?distanceY:Number?=?particleOne.y?-?particleTwo.y;
????????????????var?distance:Number?=?Math.sqrt(distanceX*distanceX?+?distanceY*distanceY);
????????????????/*?If?the?distance?is?smaller?than?particle’s?width,?we?have?a?hit.?
????????????????Note:?if?the?particles?were?of?different?size,?the?calculation?would?be:
????????????????distance?13、代碼全部完成,測試你的影片。也可以設置不同背景的舞臺,畫任意的圖形。
最后完整的代碼:
//We?need?few?imports?for?the?color
import?fl.motion.Color;
import?flash.geom.ColorTransform;
/*We?want?20?particles?at?the?start
particlesArray?is?used?when?we?animate?each?particle?*/
var?numberOfParticles:Number?=?20;
var?particlesArray:Array?=?new?Array();
//Each?time?a?hit?occurs,?we?want?to?create?10?new?particles
var?numberOfExplosionParticles:uint?=?10;
//This?loop?creates?the?first?particles?and?gives?them?speed?and?coordinates
for?(var?i=0;?i?
附件下載:

Particle.rar
??????

粒子.rar
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/5300.html

flash as3.0粒子效果實例教程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一本色道久久综合狠狠躁 | 亚洲综合精品成人 | 福利社91| 青青成人 | 美日韩在线视频 | 黄毛片| 天天色综合2 | 91成人午夜精品福利院在线观看 | 欧美午夜在线播放 | 写真福利 第 页 在线视频 | 亚洲精品丝袜在线一区波多野结衣 | 香蕉在线观看999 | 日本一级高清不卡视频在线 | 91在线免费公开视频 | 美女被爆羞羞网站 | 亚洲伊人精品综合在合线 | 亚洲产在线精品第一站不卡 | 在线视频免费国产成人 | 人人爱天天做夜夜爽2020麻豆 | 久久精品国产精品青草 | 天天操婷婷| 视频黄在线观看 | 国产欧美日韩成人 | 久久精品国产亚洲高清 | 深夜福利视频网址 | 一区精品在线 | 国产精品久久久久无毒 | 日韩毛片基地一区二区三区 | 国产伦精品一区二区三区免费观看 | 日本在线中文 | 成人看片免费无限观看视频 | 色综合久久精品中文字幕 | 成人永久福利在线观看不卡 | 国产91免费在线观看 | 香蕉久久综合 | 亚洲综合在线一区 | 波多野结衣 一区二区 | 老司机毛片 | 99久久精品国产高清一区二区 | 午夜在线精品不卡国产 | 一区国严二区亚洲三区 |