本次例子没能做到减少系统资源的能力.刚做完这个效果以后.也查找了一些粒子方面的资料.看到了很多高人写的粒子可以使用上千个粒子却不占用更多的系统资源,高人.但是,如果能把那算法公布我会更感谢你.
其实,FLASH AS的作品无非具备两点就可以.
1.对AS函数的了解.
2.肯专研的精神.
FLASH世界里没有做不到的东西.只有你想不到.你不想做的东西.这次的代码发出来.非常希望有更多的朋友去完善.共享精神的目的就是这个.共同进步.一个人的努力只能局限在自己的世界里.当把所有人的努力聚集起来的时候才是FLASH繁荣时期.这就是为什么多年前的AS程序员各各都强悍的原因.那时候的FLASH8还是很热闹的.
希望这个帖子能让更多的朋友发表自己的看法.我以后要回到FLASH世界,希望更多的朋友能帮我.欢迎FLASH 爱好者加我QQ共同成长
废话不说了.拿出东西.
本次程序同入门级下雪效果一样,使用了2个AS文件以及一个FLA文件,两个AS文件分别是mack_fire.as 火花粒子制作文件,fire.as 火花移动控制文件,以及fire.fla场景文件.
代码如下:
mack_fire.as:
复制代码
/***************Ant QQ:305033389******************/
/*************请支持原创,请开源代码****************/
/**********请让更多的AS爱好者有资料学习*************/
/********本作品是我学习作品,并非完善作品***********/
package {
import flash.geom.Matrix;//颜色渐变类库倒入
import flash.display.Sprite;//Sprite 类是基本显示列表构造块
import flash.display.GradientType;//Graphics 类包含一组可用来创建矢量形状的方法
public class mack_fire extends Sprite { //本类为火花原形类
private var fire:Sprite;
var myMatrix:Matrix;
public function mack_fire(){
fire = new Sprite();//初始化一个影片剪辑
myMatrix = new Matrix();//需要用到的FLASH自带类,在这里这个类的作用是制作火花粒子的颜色渐变效果
var boxWidth:int = 16;//火花粒子颜色渐变宽高设置,下面是高度
var boxHeight:int = 16;
var boxRotation:uint = Math.PI/2;//颜色渐变使用的变量
var tx:int = 0;//影片剪辑的初试坐标
var ty:int = 0;
myMatrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);//下面开始是颜色付值部分,详细请查阅createGradientBox的具体用法
var type:String = GradientType.RADIAL;
var myColors:Array = [0xFFFF00, 0xFFFF00];//颜色渐变,白色到白色
var myAlphaS:Array = [1, 0];//透明度从,透明到不透明
var myRalphaS:Array = [0, 255];
var spreadMethod:String = "pad";
var interp:String = "rgb";










