Adobe FLVPLayback Component Updated

Network DVR

Adobe released an update to the FLVPlayback component (v2.5.0.15) for Flash CS4 and Flex 3.

Excerpt from  Kevin’s blog. Go there for more detailed information

Today(22-may-09) we released two free tools; the new DVRCast application for Flash Media Interactive Server 3.5, and an update to FLVPlayback component. You can find them both on the Flash Media Server productivity tools page: http://www.adobe.com/go/fms_tools/. You can read more from a new article from David Hassoun posted here: http://www.adobe.com/devnet/flashmediaserver/articles/live_dvr_pt2.html

DVRCast uses existing technology built into the server, DVRCast extends the server functionality with abilities to manage metadata, start and stop and scheduling of DVR-enabled streams.

Adobe  has updated the component to support DVR functionality. We now support this component in both Flash Professional CS4 and the Flex SDK.   The current version is FLVPlayback 2.5.0.15, and is included in the DVRCast download.   You can also download it separately.

Flint Actionscript 3 Particle System Example

.swfgeek Logo Particles

Richard Lord has recently released the Version 0.9.4 of Flint.

I made this example
using Flint particle system is an Actionscript 3.0 Open Source project with the aim of create a library that handles the common functionality for all particle systems. To see it work just click anywhere on stage and it will make a nice Firework out of my “Logo”

I just tried it myself and i must say it’s super easy to use and to extend. You can find Flint source on the google code page of Flint with working examples in the downloads section there’s also some very good examples and tutorials on Flint Particle System Site and you can keep track of Richard on his blog.

The latest version comes packed with all kind of particles goodies like:

* Access all properties in Actions, Initializers, Counters and Activities so they can be modified while the emitter is running.
* AlphaInit initializer sets the initial alpha value for all particles
* ImageClasses and SharedImages initializers set the particle image to one selected from a group, with weighting to adjust the selection
* MouseExplosion action pushes particles away from the mouse
* MouseGravity action pulls particles towards the mouse
* TurnAwayFromMouse action causes particles to turn away from the mouse
* GreyscaleZone uses a greyscale image to define a zone, with weighting based on the luminence of each pixel
* Pulse counter emits particles in regular bursts
* PerformanceAdjusted counter adjusts the rate of particle emission if the frame-rate drops
* TwoWay energyEasing functions have an energy peak half-way through the particle’s lifetime

Heres the link to my example using Flint, and Flex 3 as much as I would love to add the code right below my post the IG Syntax HighLighter seems to not be getting very well with the latest update of wordpress so to get the code just right click on my example and it will take you there.

Update you can now view the code right here:

?View Code ACTIONSCRIPT3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package {
 
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.filters.BlurFilter;
    import flash.filters.ColorMatrixFilter;
    import flash.geom.Point;
 
    import org.flintparticles.actions.*;
    import org.flintparticles.counters.*;
    import org.flintparticles.emitters.*;
    import org.flintparticles.energyEasing.Quadratic;
    import org.flintparticles.events.FlintEvent;
    import org.flintparticles.initializers.*;
    import org.flintparticles.zones.*;
 
    [SWF( frameRate='61', backgroundColor='#000000')]
 
    public class LogoFireworks extends Sprite
    {
        [Embed(source="assets/sgw.png")]
 
        public var Logo:Class;
        public var bitmap:Bitmap = new Logo();
        public var ev:FlintEvent;
        private var emitter:PixelEmitter = new PixelEmitter();
 
        public function LogoFireworks()
        {
            ViewSource.addMenuItem(this, "srcview/index.html");
            stage.scaleMode = "noScale";
            stage.align ="TL";
            init();
        }
 
        public function init():void
        {
            stage.addEventListener(MouseEvent.MOUSE_DOWN,startFlint);
            stage.addEventListener(MouseEvent.MOUSE_UP,stopFlint)
        }
        public function prepareToFlint(event:MouseEvent):void
         {
          stage.addEventListener(MouseEvent.MOUSE_DOWN,startFlint);
          stage.addEventListener(MouseEvent.MOUSE_UP,stopFlint)
 
         }
 
        public function startFlint(Event:MouseEvent):void
        {
            emitter.addFilter( new BlurFilter( 2, 2, 1 ) );
            emitter.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,
                                                        0,1,0,0,0,
                                                        0,0,1,0,0,
                                                        0,0,0,0.96,0 ] ) );
            emitter.setCounter( new Blast( 1500 ) );
            emitter.addInitializer( new ColorInit(Math.random()* 0xFFFF3300,Math.random()* 0xFFFFFF00 ) );
            emitter.addInitializer( new Lifetime( 7) );
            emitter.addInitializer( new Position( new DiscZone( new Point( 0, 0 ), 10 ) ) );
            emitter.addInitializer( new Velocity( new BitmapDataZone( bitmap.bitmapData,-211, -550 ) ) );
            emitter.addAction( new Age( Quadratic.easeIn ) );
            emitter.addAction( new Fade( 1.0, 0 ) );
            emitter.addAction( new Move() );
            emitter.addAction( new LinearDrag( 0.5 ) );
            emitter.addAction( new Accelerate( 0, 70 ) );
            addChild( emitter );
            emitter.x = stage.stageWidth/2;
            emitter.y = stage.stageHeight -(5);
            emitter.start( );
            emitter.addEventListener( FlintEvent.EMITTER_EMPTY, restart);
        }
 
        public function stopFlint(Event:MouseEvent):void
        {
            stage.removeEventListener(MouseEvent.MOUSE_DOWN,startFlint)
        }
 
        public function restart( ev:FlintEvent ):void
        {
            mouseEn();
        }
 
        public function mouseEn():void
        {
            stage.addEventListener(MouseEvent.MOUSE_DOWN,startFlint);
        }
    }
}

Drawing API and Mouse Events

DrawingAPI
Click on the image to see the example and get the code.

A pair of days ago I found the blog of Sorin Haidan in wish he post some very useful tutorials on Flash and Actionscript 3.0 in a very understandable way, I found one that caught my attention called Draw Custom shapes with ActionScript 3.0. In this tutorial he explains how to make a “Ball” appear on screen every time you click and move your mouse on the screen by using the Drawing API and MouseEvents, the change of the color on the ball was achieved doing a loop in a 10 frame movie clip with a ball of different gradient fill on each frame, so occurred to me to wrap that code on a class on a Flex 3 Actionscript Project and get rid of the Flash assets by drawing the ball in a dynamic way and this let me Change the color of the Ball more than the 10 times of Sorin example, so check the example be sure to check Sorin’s blog .
In my example if you right click on the file you get to see the source that it’s also included below this text here’s what I got: Drawing API Ball Example.

Thanks Sorin for letting me mess around with his code keep up with those good tutorials.

?View Code ACTIONSCRIPT3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
/////---- Class by Dave Ga?mez (.swfgeek) 24-February-2008 http://www.swfgeek.net----\\\
///---- Original Example by: Sorin Haidan in his  Draw Custom shapes with ActionScript 3.0. Tutorial ----\
///---- Found on his blog http://biochimistu.blogspot.com/ ---- \
*/
 
package {
 
    import flash.display.GradientType;
    import flash.display.SpreadMethod;
    import flash.display.Sprite;
    import flash.display.StageScaleMode;
    import flash.display.StageAlign;
    import flash.events.MouseEvent;
    import flash.geom.Matrix;
    import com.adobe.viewsource.ViewSource;
 
    [SWF(backgroundColor="0x000000",frameRate="31")]
 
    public class DrawingAPI extends Sprite
    {
        private var sprite:Sprite;
        private var holder:Sprite;
        private var myCircle:Sprite;
        private var fillType:String;
        private var colors:Array;
        private var alphas:Array;
        private var ratios:Array;
        private var matr:Matrix;
        private var spreadMethod:String;
        private var focalPointRatio:Number;
 
        public function DrawingAPI()
        {
            init();
        }
 
        private function init():void
        {
            ViewSource.addMenuItem(this, "srcview/index.html");
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            stage.addEventListener(MouseEvent.MOUSE_DOWN,prepareToDraw);
 
        }
 
        public function prepareToDraw(event:MouseEvent):void
         {
          stage.addEventListener(MouseEvent.MOUSE_MOVE,drawGraphics);
          stage.addEventListener(MouseEvent.MOUSE_UP,stopDrawing);
 
         }
 
        public function drawGraphics(event:MouseEvent):void
        {
         fillType = GradientType.RADIAL;
         colors = [0xFFFFFF, Math.random()*0xFFFFFF];
         alphas = [1, 1];
         ratios = [0x37, 0xFF];
         matr= new Matrix();
         matr.createGradientBox(100, 100, Math.random()*360, -40, 0);
         spreadMethod = SpreadMethod.PAD;
         focalPointRatio = 1;
         holder = new Sprite();
         addChild(holder);
         myCircle = new Sprite();
         myCircle.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr,spreadMethod);
         myCircle.graphics.drawCircle(0,0,40);
         myCircle.graphics.endFill();
         holder.addChild(myCircle);
         holder.x = mouseX;
         holder.y = mouseY;
         holder.scaleX = holder.scaleY = Math.random()*2+0.5;
         holder.rotation = Math.random()*360;
         holder.alpha = Math.random()+0.7;
       }
 
        public function stopDrawing(event:MouseEvent):void
       {
        stage.removeEventListener(MouseEvent.MOUSE_MOVE,drawGraphics)
       }
    }
}

Adobe Flex 3 and AIR 1 are here

Adobe Flex 3 and AIR 1

That’s it the new version of Adobe Flex is here and with it the new AIR 1 runtime, for details visit Mike Potter’s post. Congrats to all the people involved in this release Adobe is really pushing its open source side by making the Flex compilers source available.
Be sure to check Flex SDK page on Adobe Open Source and the product pages of Flex 3 and AIR 1.