Arkiv för August, 2009

Matrix

Postet den 25 August, 2009, i Svensson Flash.


Matrix

You can create a Matrix effect using Flash. To create these effects just follow the steps:

1. Open a new Flash Document and set the stage size to 640px X 480px.

2. Change the Frame rate to 55 fps and the background color to black.

    

Creating the Matrix elements

3. Select the text tool A, and change the Text to Dynamic,Select Anti alias for Animation,

    

4. Click the text tool and type a. Click on the text, click Modify–> Convert to Symbol.

    

    

5. Name the symbol 1 and choose Movie clip as its Behavior.

    

6. Insert a text box, type a letter. I have used Bookshelf Symbol 7. Increase its zoom to 800%.

    

7. Select the text you typed and click the letter click Modify–> Break Apart.

    

Keyboard Shortcut: Ctrl+B.

8. Create as many movie clips you wish and place it in a folder. To create these movie clips just follow the steps from Step 4 to 7.

9. Click Insert–> New symbol. Name the symbol matrix_mc and choose Movie Clip as its behavior.

    

10. Click Insert–> New symbol. Name the symbol matrix_btn and choose Button as its behavior.

    

11. Create another layer and name it Text as shown below:

    

12. Insert text �Matrix� in the layer Text using the text tool and Insert a KeyFrame in the Up event, In down event insert a Frame.

    

    

13. Drag the Movie clip matrix_mc to the layer.

    

14. Insert KeyFrames in Up, Down, and Over events on Layer 3.

    

15. Go back to the Main Time Line, create another layer and name it actions.

    

16. Drag and drop the matrix button on to the stage and type its instance name as matrix_btn.

    

17. Right click Frame 1–> actions, and type the following action script:

    

import flash.filters.*;

importflash.geom.Rectangle;

var hex_rot:Array =["0A", "33", "FF", "0A", "E6", "CC", "00"];

var hex_gruen:Array =["99", "CC", "33", "0A", "0A", "CC", "CC"];

var hex_blau:Array =["7A", "FF", "FF", "E6", "0A", "CC", "00"];

var matrix_id:Number = 0;

function matrix (clip:MovieClip,matrix_string:String)

{

varmatrix_obj:Color = new Color (clip);

var farbe:Number =Number (”0x” + matrix_string);

matrix_obj.setRGB(farbe);

}

function createText ()

{

var gm:Number =this.getNextHighestDepth ();

varmatrix_movie:MovieClip = this.createEmptyMovieClip (”matrix_movie_mc”+ gm, gm);

var mat:Number =10 + random (30);

matrix_movie.glow_matrix_varListe = new Array ();

for (var i = 0;i <= mat; i++)

{

varclip_id:String = String (1 + random (48));

vargm:Number = matrix_movie.getNextHighestDepth ();

varmatrix_var:MovieClip = matrix_movie.attachMovie (clip_id,”matrix_var_mc” +clip_id + “_” + gm, gm);

matrix_var._y= matrix_movie._height + 4;

matrix_var.cacheAsBitmap = true;

if (random(100) < 20)

{

matrix_movie.glow_matrix_varListe.push (matrix_var);

}

if (i == mat)

{

matrix_movie.glow_matrix_varListe.push (matrix_var);}

matrix(matrix_var, hex_rot + hex_gruen + hex_blau);

}

varskal_wert:Number = random (150);

matrix_movie.cacheAsBitmap = true;

matrix_movie._x = random (Stage.width);

matrix_movie._y = -matrix_movie._height * skal_wert / 100 - 10 - random (100);

matrix_movie.tempo = 4 + random (10);

matrix_movie._xscale = 1 + skal_wert;

matrix_movie._yscale = matrix_movie._xscale;

matrix_movie.skal_wert = matrix_movie._xscale;

setzeBlur (matrix_movie,0, 1, 3);

setzeGlow (matrix_movie.glow_matrix_varListe);

matrix_movie.bewegen = function()

{

this._y +=this.tempo;

if (this._y >=Stage.height)

{

this._parent.createText ();

this.removeMovieClip ();

clearInterval(matrix_iv);

}

};

varmatrix_iv:Number = setInterval(matrix_movie, “bewegen”, 30);

}

function setzeBlur (matrix_movie:MovieClip,blurXfaktor:Number, blurYfaktor:Number, blurQualitaet:Number):Void

{

var blurX:Number =blurXfaktor + Math.random ();

var blurY:Number =blurYfaktor + Math.random ();

var quality:Number =blurQualitaet;

var blur:BlurFilter = newBlurFilter (blurX, blurY, quality);

var blurListe:Array = newArray ();

blurListe.push (blur);

matrix_movie.filters =blurListe;

}

function setzeGlow (glow_matrix_varListe:Array):Void

{

for (var i = 0; i

{

varmatrix_movie:MovieClip = glow_matrix_varListe;

varmatrix_movieDuplikat:MovieClip = matrix_movie.duplicateMovieClip (”duplikat_mc”+ i, i);

matrix (matrix_movie, “FFFFFF”);

var zufalls_wert:Number =Math.random ();

var color:Number =0xFFFFFF;

var alpha:Number = .2;

var alpha2:Number = 1;

var blurX:Number = 4 +zufalls_wert * 2;

var blurY:Number = 8 +zufalls_wert * 32;

var blurY2:Number = 8 +zufalls_wert * 8;

var strength:Number = 4 +random (16);

var strength2:Number = 6;

var quality:Number = 3;

var inner:Boolean =false;

var knockout:Boolean =false;

varglow_original:GlowFilter = new GlowFilter (color, alpha, blurX, blurY, strength,quality, inner, knockout);

varglow_duplikat:GlowFilter = new GlowFilter (color, alpha2, blurX, blurY2,strength2, quality, inner, knockout);

varglowListe_original:Array = new Array ();

varglowListe_duplikat:Array = new Array ();

glowListe_original.push (glow_original);

glowListe_duplikat.push (glow_duplikat);

matrix_movie.filters =glowListe_original;

matrix_movieDuplikat.filters = glowListe_duplikat;

}

this.cacheAsBitmap =true;

Stage.align = “TL”;

Stage.scaleMode = “noscale”;

function setzeStage()

{

matrix_btn._x =Stage.width - matrix_btn._width - 5;

matrix_btn._y= Stage.height - matrix_btn._height - 5;

varrahmen:Rectangle = new Rectangle (0, 0, Stage.width, Stage.height);

this.scrollRect = rahmen;

}

this.onResize = function()

{

setzeStage();

};

Stage.addListener (this);

setzeStage();

function setzeMatrix (maxmatrix_var:Number)

{

for (var i:Number = 1; i< maxmatrix_var; i++)

{

createText ();

}

}

setzeMatrix (80);

matrix_btn.onRelease =function ()

{

matrix_id++;

if (matrix_id ==hex_rot.length)

{

matrix_id = 0;

}

};

18. Save your work and Test Movie.

    

When you click the Matrixbutton, the color changes.. here�s the screen shot: