Flash AS實例教程:用純AS制作火焰特效_Flash教程
推薦:數(shù)學(xué)課件:用Flash AS推導(dǎo)三角形面積[思路]先創(chuàng)建一個三角形,然后復(fù)制一個并旋轉(zhuǎn)移動與原圖拼成一個平行四邊形,平行四邊形面積=底×高,所以三角形面積=底×高÷2。[演示][過程]1、創(chuàng)建一個
首先申明不是偶原創(chuàng),偶只是把效果綜合了一下。粒子變幻效果忘記是誰的了,知道出處的朋友請?zhí)嵝�,偶在以后補上�;鹧嫒鹆餍Ч莵碜砸晃慌笥训牟┛屠锩娴臄z像頭火焰特效,也無處可考證出處,請知道的朋友提醒,偶以后補上。還有個返回?zé)o重復(fù)隨機數(shù)組的函數(shù)在里面,是壇子里的朋友的,知道出處的朋友也請告知,呵呵呵...
以下是要害原碼和原始文件,感愛好的朋友可以看看:Fire_ok.as:
/*
沒啥好說的,拿去用吧:)
*/
class Fire_ok extends MovieClip
{
var fireBmp, prevBmp, tempBmp, greyBmp, mtx, pnt, blurF, greyscaleCMF, fireCMF, dispMapF, webcam, fireBmpHolder, createEmptyMovieClip;
var activityLevel_pb, wcGet ;
function Fire_ok ()
{
super ();
fireBmp = new flash.display.BitmapData (400, 400, false, 0);
prevBmp = fireBmp.clone ();
tempBmp = fireBmp.clone ();
greyBmp = new flash.display.BitmapData (400, 400, false, 16743424);
mtx = new flash.geom.Matrix ();
pnt = new flash.geom.Point ();
blurF = new flash.filters.BlurFilter (7, 7, 1);
greyscaleCMF = new flash.filters.ColorMatrixFilter ([0.73, 0.83, 0.93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
fireCMF = new flash.filters.ColorMatrixFilter ([0.8, 0.05, 0, 0, 0, 0, 0.65, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0]);
dispMapF = new flash.filters.DisplacementMapFilter (tempBmp, pnt, 1, 2, 10, - 35, "clamp");
/////////////////////////////////////////////////////
}
function configUI ()
{
fireBmpHolder = this.createEmptyMovieClip ("fireBmpHolder", 1);
fireBmpHolder.attachBitmap (fireBmp, 1, "always", false);
fireBmpHolder.blendMode = "add";
}
function onEnterFrame ()
{
tempBmp.copyPixels (prevBmp, prevBmp.rectangle, pnt);
prevBmp.draw (webcam);
if (tempBmp.getPixel (1, 1) < 2)
{
return (undefined);
}
tempBmp.draw (prevBmp, mtx, null, "difference");
tempBmp.applyFilter (tempBmp, tempBmp.rectangle, pnt, greyscaleCMF);
tempBmp.threshold (tempBmp, tempBmp.rectangle, pnt, ">", 1638400, 4289379174, 16711680, false);
tempBmp.applyFilter (tempBmp, tempBmp.rectangle, pnt, blurF);
fireBmp.draw (tempBmp, mtx, null, "add");
tempBmp.perlinNoise (13, 10, 1, random (100) , false, true, 3, false);
tempBmp.draw (greyBmp, mtx, null, "darken");
fireBmp.applyFilter (fireBmp, fireBmp.rectangle, pnt, dispMapF);
fireBmp.applyFilter (fireBmp, fireBmp.rectangle, pnt, fireCMF);
}
static var CLASS_REF = Fire_ok;
static var LINKAGE_ID = "Fire_ok";
}
Fla源文件下載:點擊這里下載源文件
分享:教你如何去掉網(wǎng)頁上的Flash動畫虛線框假如你是個細(xì)心的網(wǎng)民,假如你是一個仔細(xì)的網(wǎng)頁設(shè)計者,那么你一定有發(fā)現(xiàn)這樣一個現(xiàn)象:在瀏覽帶有Flash動畫的頁面,當(dāng)你把鼠標(biāo)移動到Flash動畫上時,F(xiàn)lash動畫
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash AS實例教程:用純AS制作火焰特效
。