Flash 8制作烟花粒子特效

特效

flash观看地址:
http://www.citydna.cn/works/etboy.asp
以Flash 8制作烟花粒子特效
动作代码如下:(代码来自flash8,现学现用,HOHO~~)

Stage.scaleMode = "noScale";
import flash.display.BitmapData;
import flash.filters.ConvolutionFilter;
import flash.geom.Rectangle;
var con = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 30, 1, 1, 1, 1], 38);
var rect:Rectangle = new Rectangle(0, 0, Stage.width, 200);
var bitmap1 = new BitmapData(rect.width, rect.height, false,0x00000000);
var bitmap2 = new BitmapData(rect.width, rect.height, true,0x00000000);
var bitmapShow1 = createEmptyMovieClip("bitmapShow1", 1).attachBitmap(bitmap1, 
1);
//粒子的显示画布
var bitmapShow2 = createEmptyMovieClip("bitmapShow2", 2).attachBitmap(bitmap2, 
2);
//白色闪光点的显示画布
var m_mouseX;
//鼠标x坐标
var m_mouseY;
//鼠标y坐标
var sound1 = new Sound();
//上升过程的声音
var sound2 = new Sound();
//爆炸声音
var bit_px = new Array(bits);
//爆炸过程的x坐标
var bit_py = new Array(bits);
//爆炸过程的y坐标
var bit_vx = new Array(bits);
//爆炸过程的x速度
var bit_vy = new Array(bits);
//爆炸过程的y速度
var bit_sx = new Array(bits);
//上升过程的x坐标
var bit_sy = new Array(bits);
//上升过程的y坐标
var bit_l = new Array(bits);
//粒子的生命时间
var bit_f = new Array(bits);
//是上升还是爆炸的标志
var bit_p = new Array(bits);
//随机出现白色闪光点的标志
var bit_c = new Array(bits);
//粒子颜色
init();
function init() {
sound1.attachSound("sound1");
sound2.attachSound("sound2");
bits = 500;
//总的最大粒子数
bit_max = 50;
//一次出现的粒子数
bit_sound = 2;
for (var j = 0; j<bits; j++) {
  bit_f[j] = 0;
}
}
onEnterFrame = function () {
bitmap2.fillRect(new Rectangle(0, 0, rect.width, rect.height), 
0x00000000);
//白色闪光点清除
//bitmap2.applyFilter(bitmap, bitmap.rectangle, new Point(0, 0), con);
rend();
bitmap1.applyFilter(bitmap1, bitmap1.rectangle, new Point(0, 0), con);
//模糊滤镜
};
onMouseDown = function () {
m_mouseX = _root._xmouse;
m_mouseY = _root._ymouse;
if (rect.contains(m_mouseX, m_mouseY)) {
  var k = int(Math.random()*256);
  var l = int(Math.random()*256);
  var i1 = int(Math.random()*256);
  var j1 = k << 16 | l << 8 | i1;
  var k1 = 0;
  for (var l1 = 0; l1<bits; l1++) {
   if (bit_f[l1] != 0) {
    continue;
   }
   bit_px[l1] = m_mouseX;
   bit_py[l1] = m_mouseY;
   var d = Math.random()*6.28;
   var d1 = Math.random();
   bit_vx[l1] = Math.sin(d)*d1/2;
   bit_vy[l1] = Math.cos(d)*d1/2;
   bit_l[l1] = int(Math.random()*100)+100;
   bit_p[l1] = int(Math.random()*3);
   if (random(4) == 0) {
    bit_c[l1] = 0xFFFFFF;
   } else {
    bit_c[l1] = j1;
   }
   bit_sx[l1] = m_mouseX;
   bit_sy[l1] = rect.height-5;
   bit_f[l1] = 2;
   if (++k1 == bit_max) {
    break;
   }
  }
  sound1.start(0);
}
};
function rend() {
var flag:Boolean = false;
var flag1:Boolean = false;
var flag2:Boolean = false;
for (var k = 0; k<bits; k++) {
  switch (bit_f[k]) {
  case 1 :
   // 爆炸过程
   bit_vy[k] += Math.random()/100;
   bit_px[k] += bit_vx[k];
   bit_py[k] += bit_vy[k];
   bit_l[k]--;
   if (bit_l[k] == 0 || !rect.contains(bit_px[k], bit_py
[k])) {
    bit_c[k] = 0x000000;
    bit_f[k] = 0;
   } else if (bit_p[k] == 0) {
    if (int(Math.random()*2) == 0) {
     bit_setwhite(int(bit_px[k]), int
(bit_py[k]), 0xFFFFFFFF);
    }
    bit_set(int(bit_px[k]), int(bit_py[k]), int
(bit_c[k]));
   } else {
    bit_set(int(bit_px[k]), int(bit_py[k]), int
(bit_c[k]));
   }
   break;
  case 2 :
   // 上升过程
   bit_sy[k] -= 5;
   if (bit_sy[k]<=bit_py[k]) {
    bit_f[k] = 1;
    flag2 = true;
   }
   if (int(Math.random()*20) == 0) {
    var i = int(Math.random()*2);
    var j = int(Math.random()*5);
    bit_set(bit_sx[k]+i, bit_sy[k]+j, 0xFFFFFF);
   }
   break;
  }
}
if (flag2) {
  sound2.start(0);
}
}
function bit_set(i:Number, j:Number, k:Number) {
bitmap1.setPixel(i, j, k);
}
function bit_setwhite(i:Number, j:Number, k:Number) {
bitmap2.setPixel32(i, j, k);
//白色闪光点
}

时间: 2024-08-22 14:12:21

Flash 8制作烟花粒子特效的相关文章

如何使用Flash遮罩制作图片切换特效

  1.在Flash中新建1个图层,用线条工具画一条竖直线放在相对舞台的左面,第30帧处插入关键帧. 2.点击第30帧把竖直线拉到舞台右面,点住任意一帧,在属性里面把补间改为形状. 3.建一个图层,和上面一样画一个竖直线,这次把竖直线从右到左放,然后在属性补间里面选择形状动画.然后再新建图层,导入一张图片,相对舞台大小. 4.新建图层,在第20帧处插入关键帧,导入一张图片,相对舞台大小,第30帧处插入帧. 5.新建图层,第20帧处插入关键帧,用矩形工具画一个长方形的方块颜色任意,注意一定要和两个

Flash中制作文字波动特效(图)

又一个简单的flash,主要是简单的action应用和遮罩效果.比较容易上手, 1.新建图层打字.(哈,我删过图层所以新建出来是"图层3"这里就偷个懒不改了)   2.再新建图层,画一个无边框色圆.选中F8转换为"影片剪辑" 元件1.   3.双击进入"元件1"再选中圆F8接着转换为"影片剪辑" "元件2". 4.双击进入"元件2"继续F8转换为"元件3" (累了吧,

Photoshop制作彩色粒子特效

最终效果图 1.创建粒子发生器.新建立一个黑背景文档,创建一个新层,然后使用椭圆工具绘制如下形状. 2.创建粒子轨迹.新建立一个层使用笔刷工具绘制如下形状. 3.添加色彩.创建新图层,使用柔笔刷选择自己喜欢的颜色. 分类: PS入门教程

Flash遮罩制作图片切换特效

  让我们先看看效果: 第一步.打开Flash新建1个图层,用线条工具画一条竖直线,放在相对舞台的左面,第30帧处插入关键帧. 图1 第二步.点击第30帧把竖直线拉到舞台右面. 图2 第三步.点住任意一帧,在属性里面把补间改为形状. 图3 第四步.新建一个图层,和上面一样画一个竖直线,注意的是这次把竖直线从右到左放,然后在属性补间里面选择形状动画. 图4 第五步.新建图层,导入一张图片,相对舞台大小. 图5 第六步.新建图层,在第20帧处插入关键帧,导入一张图片,相对舞台大小,第30帧处插入帧.

Flash AS3简单制作百叶窗图片特效

Flash AS3简单制作百叶窗图片特效,适合初学者的教程,希望大家能练习! 图片百叶窗特效: 制作过程: 任意选择一个图片,当做本例动画中的图片,我们将使该图片达到百叶窗动画特效. 然后按Ctrl+J修改文档的属性,设置任何颜色为背景都可以,大小调整到和自己选择的图的大小一样大就可以了,幁频设置为38fps 就可以. 把图层1命名为photo,把外部准备的图片导入到舞台,然后按F8转变为原件,类型是影片剪辑, 然后拖拽到舞台,打开属性面板,设置如下:

Flash快速制作水波特效动画

利用FLASH三方软件,可制作很多炫丽多姿的FLASH特效.这里网页学习网讲解一下利用FLASH三方软件sqirlz water reflections快速制作flash水波特效.方法简单快捷,让您五分钟学会FLASH水波制作. 利用FLASH三方软件,可制作很多特效.这里,我们主要学习一下,制作水波效果.先看下效果吧: 制作教程: 1.利用图像处理软件,这里为photoshop.打开需要制作的图片. 2.查看一下大小. 3.这里,需要注意的是,我们的宽度不变,只设置高度即可.新建一个高度为两倍

Flash制作完美loding特效教程分享

给各位Flash软件的使用者们来详细的解析分享一下制作完美loding特效的教程. 教程分享: 特效 当然这里的"完美loding"是指londing程序的内部效果而不是外在的美观.不多说了,这篇帖子是我专门为菜鸟而写的,虽然关于"londing程序"制作介绍的文章已经不止唯一了,但是还有许多的新手对于"londing程序"还是有很多疑问,特别是对自己做的"londing"为什么总是在屏幕上一闪而过,有的甚至看不到"

Flash制作沧海一滴水特效动画教程

给各位Flash软件的使用者们来详细的解析分享一下制作沧海一滴水特效动画的教程. 教程分享: 一.打开软件:新建影片,场景属性默认.保存文档.(先保存文档,有利于边制作边保存,不至于出现停电.意外事故丢失呀,这是的得教训!) 二.导入图片:点文件--导入到库.把素材图片导入. 三.建元件: 1.图形元件: (1)海波:在场景点图层一第一帧,打开库,拖入海水位图,打散.用黑箭头工具框选 图片的下半部分,选中状态点拷贝,然后粘贴,再粘贴,点修改--变形--水平翻转. 把两条海波对接. 图一   再点

Flash AS打造超强粒子视觉冲击特效

特效 超强的粒子特效,效果非常好,和大家分享: #initclip 1 function PoolClass() {     this.stick = {x: 300, y: 169};     this.onEnterFrame = this.dragStick; } // End of the function PoolClass.prototype = new MovieClip(); PoolClass.prototype.dragStick = function () {     if