Please Please Please Please Please Please Please post the working
example ...

That will help me sooooooooooooo much ....

THANKS A MILLION,

Sean.

--- In flexcoders@yahoogroups.com, "simonjpalmer" <[EMAIL PROTECTED]>
wrote:
>
> I got it working...
> 
> couple of things:
> 
> 1) Buttons are not movie clips, they are sprites and don't have a
> timeline, so you have to create a movie clip and add your text to it.
> 2) You have to add the clips to the application's stage, not the
> application itself.
> 
> if you hack around a little you should be able to get it to work.  If
> you are really stuck I'll post my mods.
> 
> The effect is a bit underwhelming...
> 
> --- In flexcoders@yahoogroups.com, "Corey Smaller" <corey_smaller@>
> wrote:
> >
> > -
> >
http://flexlib.googlecode.com/svn/trunk/docs/flexlib/controls/Fire.html
> > 
> > is this the same code?  should work
> > 
> > 
> > 
> > -- In flexcoders@yahoogroups.com, "helihobby" <helihobby@> wrote:
> > >
> > > I got this Effect from a friend and its written in Flash but all in
> > > Actionscript 3 so it should work for Flex as well ... right ?
> > > 
> > > The code is posted...
> > > 
> > > Can anyone help get this to work.
> > > Its an amazing fire effect.
> > > 
> > > Here is the code. ( PS in Flash CS3 it works great !!! )
> > > 
> > > 
> > > 
> > > 
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> > > layout="absolute" creationComplete="init()">
> > >   
> > >   
> > >   <mx:Script>
> > >           <![CDATA[
> > >           
> > >           
> > >           import flash.display.BitmapData;
> > > import flash.geom.Rectangle;
> > > import flash.geom.Point;
> > > import flash.geom.Matrix;
> > > import flash.filters.ColorMatrixFilter;
> > > import flash.filters.GlowFilter;
> > > import flash.filters.DisplacementMapFilter;
> > > 
> > >           private function setFire(mc:MovieClip):MovieClip {      
> > >                   // hide the original MC
> > >                   mc.visible =false;      
> > >                   // calculate the bounds and apply aa padding offset to 
> > > accomodate
> > > the FX
> > >                   var bounds:Object = mc.getBounds(mc);
> > >                   var offset_y:Number =30
> > >                   var offset_x:Number =10
> > >                   var w:Number = bounds.width +offset_x   
> > >                   var h:Number = bounds.height +offset_y
> > >                   bounds.x=bounds.x-offset_x/2
> > >                   bounds.y=bounds.y-offset_y/2
> > >                   // creat our FX copy
> > >                   var clip=new MovieClip(); 
> > >                   //create a 'holder' so we can math the original clips
registration
> > > point exactly
> > >                   var holder:MovieClip=new MovieClip()    
> > >                   //add 'clip' to the main display object and add 
> > > 'holder' as a
child
> > > of 'clip'.
> > >                   this.addChild(clip);
> > >                   clip.addChild(holder);
> > >                   holder.name="fire_holder"+clip.getChildIndex(holder);
> > >                   // set up our bitmap data
> > >                   var fireMC:Bitmap=new Bitmap();
> > >                   var shad:Bitmap=new Bitmap()
> > >                   var grad:Sprite=new Sprite();;
> > >                   //      set up the flame colouring
> > >                   var fillType:String = GradientType.LINEAR;
> > >                   var colors:Array 
> > >                   var glow:GlowFilter     
> > >                   // try some different colour flames out here:
> > >                   colors = [0xFF0000, 0xFF6600, 0xFFCC00, 0xFFFFFF]
> > >                   //colors = [0x33FFFF, 0x3399FF, 0x33FFFF, 0xFFFFFF]
> > >                   //colors = [0x006600, 0x009900, 0x00CC00, 0xFFFFFF]
> > >                   //colors = [0xCC0099, 0xFF66FF, 0xFFCCFF, 0xFFFFFF]
> > >                   //colors = [0x9900FF, 0xCC99FF,0xCCCCFF,  0xFFFFFF]
> > >                   var alphas:Array = [100, 100, 100, 100];
> > >                   var ratios:Array = [90, 110,130, 255];
> > >                   var interpolationMethod:String= 
> > > InterpolationMethod.LINEAR_RGB
> > >                   var matr:Matrix = new Matrix();
> > >                   matr.createGradientBox( w, h, -(270/180)*Math.PI,0, h); 
> > >                   var spreadMethod:String = SpreadMethod.REFLECT;
> > >                   // draw the flame colouring
> > >                   grad.graphics.beginGradientFill(fillType, colors, 
> > > alphas, ratios,
> > > matr, spreadMethod, interpolationMethod);
> > >                   grad.graphics.moveTo(0, 0);
> > >                   grad.graphics.lineTo(w, 0);
> > >                   grad.graphics.lineTo(w, h);
> > >                   grad.graphics.lineTo(0, h);
> > >                   grad.graphics.lineTo(0, 0);
> > >                   grad.graphics.endFill();        
> > >                   //holder.addChild(grad);//uncomment this to see that 
> > > your
gradient
> > > is working properly       
> > >                   // create a glow filter
> > >                   glow = new GlowFilter(colors[1], 1, 13, 13, 2, 1, 
> > > false, false);        
> > >                   // set up our bitmap data
> > >                   var gradBmp:BitmapData = new BitmapData(w, h, true, 
> > > 0x00000000);
> > >                   gradBmp.draw(grad);
> > >                   var bitmap:BitmapData = new BitmapData(w, h, true, 
> > > 0x00000000);
> > >                   var fireBitmap:BitmapData = new BitmapData(w, h, true,
0x00000000);
> > >                   // copy the original MC
> > >                   bitmap.draw(mc, new 
> > > Matrix(1,0,0,1,bounds.x*-1,bounds.y*-1));
> > >                   // set x and y positions
> > >                   holder.x=bounds.x
> > >               holder.y=bounds.y
> > >               clip.x=mc.x;
> > >               clip.y=mc.y;
> > >                   // combine the gradient colours with the non alpha'd 
> > > area of
the MC
> > >                   bitmap.copyPixels(gradBmp, gradBmp.rect, new 
> > > Point(0,0), bitmap,
> > > new Point(0, 0), true);
> > >                   // create a silhouette to sit on top
> > >                   var shadowMap:BitmapData = bitmap.clone();
> > >                   // add the fire mc to the display object
> > >                   fireMC.bitmapData=fireBitmap
> > >                   holder.addChild(fireMC)
> > >                   var matrix:Array = new Array();
> > >                   matrix = matrix.concat([-1, 0, 0, 0, 0]);
> > >                   matrix = matrix.concat([0, -1, 0, 0, 0]);
> > >                   matrix = matrix.concat([0, 0, -1, 0, 0]);
> > >                   matrix = matrix.concat([0, 0, 0, 1, 0]);
> > >                   var darken = new ColorMatrixFilter(matrix);
> > >                   var offset = new Point(0, 0);
> > >                   var yOff = 4;
> > >                   // create our displacement map bitmap data
> > >                   var disp:BitmapData = new BitmapData(w, h);
> > >                   // create our offsets
> > >                   var offsets = new Array();
> > >                   // create a blur filter
> > >                   var blur1 = new flash.filters.BlurFilter(3,20, 1);
> > >                   offsets.push(new flash.geom.Point());
> > >                   //create a random seed
> > >                   var seed= Math.round(Math.random()*300);
> > >                   var p = new Point()
> > >                   // apply static FX to the shadow map
> > >                   shadowMap.applyFilter(shadowMap,shadowMap.rect,p,darken)
> > >                   shadowMap.applyFilter(shadowMap,shadowMap.rect,p,glow)
> > >                   // redraw loop
> > >                   var redraw = function():void {  
> > >                           //increment offset
> > >                           offsets[0].y += yOff;
> > >                           // create perlin noise for displacement filter
> > >                           disp.perlinNoise(20, 30, 1, seed, true, true, 
> > > 1, false,
offsets);
> > >                           // create displacement filter
> > >                           var displaceFilter:DisplacementMapFilter = new
> > > DisplacementMapFilter(disp, offset, 1, 1, 50, 50, 'color');       
> > >                           // apply filters to bitmap datat
> > >                           fireBitmap.applyFilter(bitmap, bitmap.rect, 
> > > p,blur1)            
> > >                           fireBitmap.applyFilter(fireBitmap,
bitmap.rect,p,displaceFilter)           
> > >                           //copy the shadow map
> > >                           var fireshadowMap=fireBitmap.clone();
> > >                           // combine the bitmap data
> > >                           fireBitmap.copyPixels(shadowMap, 
> > > shadowMap.rect, p, shadowMap,p,
> > > true);            
> > >                           fireBitmap.copyPixels(fireshadowMap, 
> > > shadowMap.rect, p,
> > > fireshadowMap,p, true);           
> > >                           
> > >                   };
> > >                   // add loop
> > >                   clip.addEventListener("enterFrame",redraw);
> > >                   // swap depths with original mc (comment out 
> > > mc.visible=false
> to use)
> > >                   this.swapChildren(clip, mc)
> > >                   //create kill datat
> > >                   clip.bitmap1=bitmap
> > >                   clip.bitmap2=gradBmp
> > >                   clip.bitmap3=shadowMap
> > >                   clip.bitmap4=disp
> > >                   clip.listener=redraw
> > >                   clip.original=mc;
> > >                   // return a reference to the new FX MC
> > >                   return clip;    
> > >           }
> > >           
> > >           private function removeFX(clip:MovieClip):void {
> > >                   clip.removeEventListener("enterFrame", clip.listener);
> > >                   clip.original.visible=true;     
> > >                   clip.bitmap1.dispose();
> > >                   clip.bitmap2.dispose();
> > >                   clip.bitmap3.dispose(); 
> > >                   clip.bitmap4.dispose();
> > >                   this.removeChild(clip); 
> > >           }
> > >           
> > >           private function init():void
> > >           {
> > >                   // to call the fx
> > >                   //fxClip:MovieClip=setFire(mc:MovieClip):MovieClip;
> > >                   var flamingText = setFire(bb as MovieClip)//
> > >                   // to get rid of the FX:
> > >                   //removeFX(flamingText)
> > >           }
> > >                   
> > >                                   
> > >                   
> > >           ]]>
> > >   </mx:Script>
> > >   <mx:Button x="140" y="118" label="Button" id="bb"
> > > click="{setFire(this as MovieClip)}"/>
> > >   
> > >   
> > > </mx:Application>
> > >
> >
>


Reply via email to