用flash as3 制作一个火焰特效,可以任意更改火焰颜色。当然你也可以做成你想做的东西 比如,火焰字等。图例:
代码如下:
不懂的就按f1查看吧。简单标注了一点。
import flash.display.BitmapData; import flash.filters.DisplacementMapFilter; import flash.geom.Point; var _offsets:Array; var _offsetsD:Array; var _bitmapData:BitmapData; /* DisplacementMapFilter 类使用指定的 BitmapData 对象(称为置换图图像)的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象, 例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。 */ var displace:DisplacementMapFilter; btnClickHandler(); this.addEventListener(Event.ENTER_FRAME , enterFrameHandler); _btn.addEventListener(MouseEvent.CLICK , btnClickHandler); function btnClickHandler(e:Event = null):void { /* itmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF) 创建一个具有指定的宽度和高度的 BitmapData 对象。 */ _bitmapData=new BitmapData(400,130,false,0x00ffcc); _offsets = [new Point(),new Point() ]; _offsetsD=[]; for (var i:Number = 0; i<2; i++) { _offsetsD[i]={x:Math.random()*2-1,y:Math.random()*6+2}; } } function enterFrameHandler(e:Event):void { for (var i:Number = 0; i<2; i++) { _offsets[i].x+=_offsetsD[i].x; _offsets[i].y+=_offsetsD[i].y; } /* public perlinNoise(baseX:Number, baseY:Number, numOctaves:Number, randomSeed:Number, stitch:Boolean, fractalNoise:Boolean, [channelOptions:Number], [grayScale:Boolean], [offsets:Object]) : Void 生成 Perlin 杂点图像 &nb |