Saturday, 28 November 2009

Creative TextFX V2 – review

The kind people over at extendstudio.com have given me copy of the Creative TextFX V2 to review. Firstly, Creative TextFX V2 is a Flash component that gives you access to over 300 text effects. These text effects are fully customisable from the user interface and also from using Actionscript code.

The installation of the Creative TextFX is very straight forward. If you don’t know how to install components then checkout the post on installing extensions. After you have installed the component, you go to Window > Components then drag an instance of the Creative TextFX on the stage.



You now need to open up the TextFx panel by going to Window > Other Panel > TextFX panel making sure you have selected the component on the stage. The following panel should appear.



The numbers of different text effects you can create are practically limitless only your imagination can hold you back. There are three main types of text effects you can created which are: in effects, wait effects, and out effects. The ‘in/out’ effects create transitions in and from the stage, while the ‘wait’ effects create the transitions in one place. You can also add filters and custom actions to the text effects.

Overall, Creative TextFX is very simple and intuitive to use. The interface is easy to understand and you have the ability to fully customise every aspect of a text effect without using any Actionscript code. However, for those users who are Actionscript geeks, you can also use Actionscript code to dynamically create text effects. Below are some examples I created using the Creative TextFX component.



For more information checkout the Creative TextFX component at extendstudio.com.

Tuesday, 24 November 2009

Remove an event listener in Actionscript 3

If you want to remove or delete an event listener from an event in Actionscript 3, you need to use the removeEventListener() method. Removing an event is similar to adding an event as you need to include the type and listener for the parameters. So, the method would look something like below:

eventTargetInstance.removeEventListener(type,listener);

The example of this method below removes the mouse click event from the stage instance.

stage.removeEventListener(MouseEvent.CLICK, clickingExample);

Removing an event listener reduces memory and processor usage, so it’s good coding practice to remove an eventListener when it is no longer needed in a program. You need to again include the event type and the listener parameters.

Sunday, 22 November 2009

Numericstepper component in Actionscript 3

In this tutorial you will learn how to use the Numericstepper component in Actionscript 3. The Numericstepper component displays a series of numbers which step up and down incrementally. This component contains an input text field and two arrow buttons that step through the values. When the arrow buttons are selected the numbered value can either increase or decrease incrementally, until the minimum or maximum value is reached. The Numeric stepper uses the change event to detect when a change has occurred. For more information checkout the AS3 NumericStepper component reference.

I will be showing a brief overview of the stepper components properties, and then I will show a practical example of this component.


Brief overview

1. Open up a Flash AS3 file.

2. Select Window > Components and drag a NumericStepper component onto the stage. After select the text tool and drag a dynamic text field above the component as show below.



3. Give the following instance names for the component and text field accordingly: my_ns and my_text.

4. On timeline create a new layer called Action then open up the Actions panel (F9) and enter the following code:

This code basically increases and decreases the number value on the stepper and text
field using the ‘value’ property.

my_ns.addEventListener(Event.CHANGE, updateText);

function updateText(event:Event):void{
my_text.text = "The NumericStepper value is " + my_ns.value;
}
You can set the maximum and minimum value on the stepper by using the
‘maximum’ and ‘minimum’ properties.
my_ns.minimum = 5;
my_ns.maximum = 50;

my_ns.addEventListener(Event.CHANGE, updateText);

function updateText(event:Event):void{
my_text.text = "The NumericStepper value is " + my_ns.value;
}

You can set the next unit change of the stepper using the ‘stepSize’ property.
my_ns.minimum = 5;
my_ns.maximum = 45;
my_ns.stepSize = 15;

my_ns.addEventListener(Event.CHANGE, updateText);

function updateText(event:Event):void{
my_text.text = "The NumericStepper value is " + my_ns.value;
}

Checkout the AS3 NumericStepper component reference for a list of the other properties.


Practical example

Step 1

Open a new Flash AS3 file.
Select the Oval tool with any colour and drag an oval shape on the stage like below.




Step 2

Convert your oval shape into movie clip (F8) with the registration point at the top left and give the instance name: my_oval.


Step 3

On the timeline insert a new layer called “Components” then select Windows > Components and drag three stepper components on the stage. Now select the Text tool with static text and type the following message above the components.




Step 4

Give each of the components the following instance names accordingly: my_x and my_y.


Step 5

On the timeline insert a new layer called “Actions”. Then open up the Actions panel and enter the following code:
//Sets the minimum (x) and maximum (x) values of the stepper,
//then sets the ovals position to the stepper.
my_x.minimum=0;
my_x.maximum=stage.stageWidth - my_oval.width;
my_x.value=my_oval.x;

//Sets the minium (y) and maximum (y) values of the stepper,
//then sets the ovals position to the stepper.
my_y.minimum=0;
my_y.maximum=stage.stageHeight - my_oval.height;
my_y.value=my_oval.y;

//Event listeners to for the steppers.
my_x.addEventListener(Event.CHANGE, moveXOval);
my_y.addEventListener(Event.CHANGE, moveYOval);

//This moves the oval in the x direction according to the stepper.
function moveXOval(event:Event):void{
my_oval.x=event.target.value;
}

//This moves the oval in the y direction according to the stepper.
function moveYOval(event:Event):void{
my_oval.y=event.target.value;
}

Step 6

Test your steppers Ctrl + Enter. Now change the values of the steppers and you should notice the oval shape move.



You should now be able to use the Numericstepper component in Actionscript 3

Friday, 20 November 2009

Glow button menu in Actionscript 3

In this tutorial you will learn how to create a glow button menu effect in Actionscript 3. The menu buttons will show a glow effect when the mouse is over the menu items, and the glow effect will disappear when the mouse is off the menu items. You will need the tweenMax plug-in for this tutorial which can be downloaded from blog.greensock.com/tweenmaxas3. If you down know how to install tweenMax checkout this tutorial.


Glow button menu in Actionscript 3

Step 1

Open a new Flash AS3 file.
Select the Rectangle tool (R) and create your buttons on the stage. I have used # #99FF32 colour for my buttons, but you can use whatever colour you wish. When you have created one button, simply duplicate the number of buttons you want. I have placed my buttons horizontally you can place them vertically if you wish.



Step 2

Select the Text tool (T) and enter the name of the menu item you want inside the rectangle. I have used Tahoma bold font with #0000FF colour.



Step 3

Convert each of your menu items in movie clips (F8). The select each item in turn and give them the following instance names accordingly: menu1_mc, menu2_mc and menu3_mc.


Step 4

On the timeline insert a new layer called Actions. Then open up the Actions panel and enter the following code:

//Import the packages needed.
import gs.*;
import gs.easing.*;

//Array to hold all the button instances.
var buttonArr:Array = new Array(menu1_mc,menu2_mc,menu3_mc);

//Loop through all the button instance using the ‘for loop’.
for (var i =0; i < buttonArr.length; i++) {
buttonArr[i].addEventListener(MouseEvent.MOUSE_OVER, glow);
buttonArr[i].addEventListener(MouseEvent.MOUSE_OUT, noGlow);
buttonArr[i].buttonMode = true;
}

//Function to create glow effect.
function glow(event:MouseEvent):void {
TweenMax.to(event.currentTarget, 1, {glowFilter:{color:0x0000ff, alpha:1, blurX:30, blurY:30,strength:1}});
}

//Function to remove glow effect.
function noGlow(event:MouseEvent):void {
TweenMax.to(event.currentTarget, 1, {glowFilter:{alpha:0}});;
}

Step 5

Test your glow button menu Ctrl + Enter. Now move your mouse over the menu items and you should see a glow effect around the button.



You should now have a glow button menu in Actionscript 3.

Tuesday, 17 November 2009

Change text direction in Flash CS4

Everyone knows you can type horizontal text in Flash CS4, but did you know you can change the direction of the text to vertical. You can change the direction of the text without using the transform tool, or repeatedly pressing the enter key to form a vertical line.

Firstly, you need to select the Text tool (T) then locate the ‘Paragraph’ section on the properties panel. If you can see the properties panel, select Window > Properties (Ctrl + F3).



Now select the ‘orientation’ button as shown above. You can either select the vertical left to right, or the vertical right to left. Both of these options set the text vertical, but change the reading point of view as shown below. As you can see below the ‘vertical left to right’ expands the text field to the right. While the ‘vertical right to left’ expand the text field to the left. This is a great feature for people using different languages because you can easily change the character flow from left to right.



The orientation button also lets you switch between horizontal and vertical text which avoids you having to manually edit the text. You can change the default text setting to vertical in the Flash preferences by choosing Edit > Preferences > Text then checking the ‘Default text orientation’ box. You also have the option of change the text work flow and disabling the kerning.

Sunday, 15 November 2009

Freebies

This freebies section contains a collection of free Flash related goodies. Everything available on this page can be downloaded for free. Remember to subscribe to keep updated with the latest freebies. If you have any suggestions for any freebies, feel free to leave any comments below.


My classes

PlayPauseBtn class - A class for creating a play/pause button.
Createborder class - A class for creating a border around the swf. 
Unhappyface class - A class for creating an unhappy faces graphic.

3D Engines

Away3D
Papervision3D

Classes

String Utill class -A free String class for manipulating string data.
TextAnim class - An open source text animation class for Actionscript 3.
AS3 Utils - A collection of useful AS3 utility classes.
AS3 Core library - Actionscript 3 library for basic utilities


Tweening engines

TweenNano/TweenLite/TweenMax - This is the tweening engine I personally use.
Tweener

Saturday, 14 November 2009

Free Flash templates

Flash websites are becoming more popular, so I have compiled a small list of websites which provides free Flash templates. If you have any suggestions for more websites, feel free to leave a comment below.

1. flashvillage – All of the templates on this website are completely free. There is a tutorial section on the website which teaches you to modify the Flash templates.




2. flashmo – A popular website with many styles of templates. There is also a premium section where you can purchase templates.




3. flash-templates-today – Unique template designs that can be downloaded for free. There are currently 34 templates that can be downloaded.




4. flashtemplatesdesign – Many different categories of Flash templates.




5. massivetemplates- Massive amounts of free templates.




6. templatesbox- Contains a large collection of free Flash templates.

Friday, 13 November 2009

Stretch menu effect in Actionscript 3

In this tutorial you will learn how to create a stretch menu effect in Actionscript 3.0.
The menu effect will stretch horizontally when the mouse is over the menu items, and will shrink when the mouse is off the menus items. This stretching effect is created using motion tweens in the timeline. I have created this tutorial in Flash CS4, but it should still work for CS3.

Stretch menu effect in Actionscript 3.0

Step 1

Open a new Flash AS3 file.
Select the Rectangle tool (R) and drag a small rectangle shape on the stage like below. I have placed the rectangle shape at the left most edge of the stage. The dimensions for my rectangle shape are 35 width & 35 height.




Step 2

Convert your rectangle shape into a move clip (F8). Then double click on the movie clip to enters its timeline and replicate the following layers. The first layer will hold the Actions and has a stop() method in the 1st and 20th frames. The second layer will hold the text and the third layer will hold the menu items.




Step 3

Right click on the rectangle shape and select ‘Create Motion Tween’ from the drop down menu. If a warning message appears click OK. This will convert the rectangle shape into a movie clip.

On the timeline select the 13th frame. Then select the free transform tool and change the width to 130 from the properties panel. Your rectangle shape should look like below.




Step 4

On the timeline, lock the ‘Menu Item’ layer and then select the ‘Text’ layer and insert a key frame (F6) on the 12th frame.

Type some text on the menu items as show below. I have used Arial font with 15pt size.



Right click on your text message and select ‘Convert to Motion tween’ from the drop down menu. On the timeline select the 18th frame and then move your text message slightly to the right. This will create a moving effect for the text when the menu item is stretching.

Select the 11th frame, then click the message on the stage and change the alpha to 0% on the colour effect panel. Your timeline should eventually look like below.




Step 5

Return to the main timeline. From the library panel duplicate as many menu items as you wish by right clicking on the item and selecting ‘Duplicate’. Remember to change the text message movie clips for each menu item, or the text will remain the same. After you have finished duplicating the menu items drag them onto the stage.


Step 6

Give each of your menu items the following instance names: menu1, menu2, menu3 and menu4 accordingly.


Step 7

On the timeline create a new layer called ‘Actions’ then open up the Actions panel and enter the following code.

//Array to hold all the button instances.
var menuArr:Array=new Array(menu1,menu2,menu3,menu4);

//This loops through all the buttons and adds event listeners to each button.
for (var i = 0; i < menuArr.length; i++) {    
menuArr[i].addEventListener(MouseEvent.MOUSE_OVER, stretchOut);   
menuArr[i].addEventListener(MouseEvent.MOUSE_OUT, stretchIn);    
menuArr[i].buttonMode = true;
menuArr[i].mouseChildren = false;  
}  

//This function plays the stretch effect.
function stretchOut (event:MouseEvent):void {    
event.currentTarget.gotoAndPlay("2");
}  

//This function returns the menu to its original position.
function stretchIn(event:MouseEvent):void {    
event.currentTarget.gotoAndStop("1");
} 
Step 8

Test your stretch menu effect Ctrl + Enter. Now move your mouse over each menu item and you should see it stretch.



You should now have a stretch menu effect. Remember to subscribe or follow me to keep updated with the latest tutorials.

Tuesday, 10 November 2009

Magic 8 ball tutorial in AS3

In this tutorial you will learn how create a magic 8 ball game in Actionscript 3.0. A magic 8 ball is a classic toy used for telling the future by answering your questions. You would normally ask a question to the 8 ball, shake it and turn it over to reveal the predicted answer. The standard magic 8 ball has twenty predicted answers: ten positives, five negatives and five maybes. I will be reducing the number of answers to ten in this tutorial.

I will be creating this tutorial in two parts. The first part will deal with creating the initially magic 8 ball game, and the second part will deal with adding the special effects such as the movements and sounds.

You will need the tweenLite plug-in for this tutorial which can be downloaded from: blog.greensock.com/tweenlite/.


Magic 8 ball tutorial in AS3 – part 1

Step 1

Open a new Flash AS3 file and then replicate the timeline shown below. I have created three layers on the timeline. The first layer is called ‘actions’ and is used for holding the Actionscript code. The second layer is called ‘labels’ and has two keys frames with different names. To add these names you select the appropriate key frames and change the name in the properties panel. The final layer is called ‘Magic 8 ball’ and is used display the magic 8 ball.




Step 2

On the timeline, select the ‘Magic 8 ball’ layer then the first frame.
Create the following magic 8 ball as shown below using the Oval tool. The magic 8 ball is simply two oval shapes inside each other with a letter in the centre.




Step 3

Convert your magic 8 ball into a movie clip (F8). Then give the movie clip the instance name: “magic8Front_mc”.


Step 4

Select the text tool with input text and drag an input text field below the magic 8 ball. Make sure you select the ‘check border around text’ button, and change the behaviour to “Single line”. Then select the input text box and give the instance name: “question_txt”. You may also wish to embed the uppercase, lowercase and punctuation characters into the input text field




Step 5

On the timeline, select the ‘Magic 8 ball’ layer then the tenth frame.
Create the reverse of the magic 8 ball as shown below using the Oval tools. I have added a linear gradient to the outer oval shape, and have used a solid black colour for liner oval shape with a #CCCCCC stroke.




Step 6

Convert the reverse of the magic 8 ball into a movie clip (F8), and then give the instance name: “magic8Back_mc”


Step 7

Double click on the reverse magic 8 ball to enter its timeline. Then insert a new layer and create the following triangle shape inside the inner oval. I have given the triangle a radial gradient and a #2739A9 coloured stroke.




Step 8

Convert the triangle shape into a movie clip (F8), and select the centre registration point and then give the following instance name: “output_mc”.


Step 9

Double click on the triangle to enter its timeline. Then insert a new layer and select the text tool with dynamic text, and drag a dynamic text field on top of the triangle shape like below. I have given the dynamic text field a white colour and ‘align centre’ for the format.



Select the dynamic text field and give the following instance name: “answer_txt”. Then select the embed characters button and embed the uppercase font glyphs.


Step 10

Return to the main timeline. On the Actions layer select the first frame and then open up the Actionscript panel and enter the following code.

//Imports the tweenlite packages.
import gs.*;
import gs.easing.*;

//Stops the timeline playhead.
stop();

//Adds the click event listener to magic 8 ball.
magic8Front_mc.addEventListener(MouseEvent.CLICK, showNext);

function showNext(event:MouseEvent):void {
//A prompt is displayed if no question is entered.
if (question_txt.text==""|| question_txt.text=="Enter Question") {
question_txt.text="Enter Question";
} else {
gotoAndStop("Answer");
showAnswers();
}
}

function showAnswers() {
//Create a new array with all the responses.
var responseArr:Array = new Array();
responseArr[0]="YES";
responseArr[1]="MOST LIKELY";
responseArr[2]="IT IS CERTAIN";
responseArr[3]="OUTLOOK GOOD";
responseArr[4]="NO";
responseArr[5]="DOUBTFUL";
responseArr[6]="REPY IS NO";
responseArr[7]="ASK AGAIN";
responseArr[8]="TRY AGAIN";
responseArr[9]="BETTER NOT";
responseArr[10]="MAYBE";

//Chooses a random number in the array.
var r:int=Math.floor(Math.random()*responseArr.length);

//Display the random response in the text field.
magic8Back_mc.output_mc.answer_txt.text=responseArr[r];

//Set the answer triangle initially invisible.
magic8Back_mc.output_mc.alpha = 0;

//Displays a slight random position of the triangle shape.
magic8Back_mc.output_mc.rotation=Math.random()*30;

//This creates the appearing effect with tweenlite.
TweenLite.to(magic8Back_mc.output_mc, 3, {autoAlpha:1});
}

*Update

There has been a new version of TweenLite released since the writing of this tutorial. The updated import statement should look like below.
import com.greensock.TweenLite;
import com.greensock.easing.*;

Step 11

Test the magic 8 ball Ctrl + Enter. Now type your question in the input field and click on the magic 8 ball, a response will appear.



You should have a magic 8 ball in Actionscript 3.0. The source files can be downloaded here. Remember to subscribe to stay tuned to part 2 where I will be adding movement and sound effects to the magic 8 ball.

Sunday, 8 November 2009

Load external SWF in AS3

In this Flash tutorial you will learn how to load an external SWF file using Actionscript 3.0. In Actionscript 2.0 you could use the MovieClipLoader class or the loadMovie command to load an external SWF file, but now in AS3 you have to use the Loader class. The Loader class was also used in a previous tutorial which loaded external text into a dynamic text field.

There are several advantages of loading external SWF files. Firstly, a large project can be broken into multiple movies, each of the SWF files will be smaller and therefore more memory efficient and faster. Also, multiple SWF files can be played in series without the need to refresh the html page.

You will need a SWF file for this tutorial. This file should be placed in the same directory as your fla file.


Load external SWF in AS3

Open up a Flash AS3 file and then select first frame on the timeline. Open up the Actions panel and enter the following code. Make sure the SWF you want to load is in the same directory as your fla file.

//This creates a new instance of the loader object and adds it to the stage.
var my_Loader:Loader = new Loader();
addChild(my_Loader);

//This creates a new instance of the URLRequest object that contains the path
//to the external swf. The load method then loads the SWF file into the loader
//object.
var my_url:URLRequest=new URLRequest("example.swf");
my_Loader.load(my_url);

The code above loads the SWF file to the default location (0, 0) on the stage. If you want to change the position of the SWF, you can adjust the x and y properties of the loader instance.
This is because the Loader class is a subclass of the DisplayObject which means you access the properties.
//This will offset the load SWF file, so be appear at (20, 20) on the stage.
my_Loader.x = 20;
my_Loader.y = 20;

The above method for loading an external SWF file is not the best as it does not wait until the file is completed loading. So, to fix this problem the code will need to be modified. An event listener will have to be attached to the loader instance to listen to when the file has completed loading. I have also added a listener to detect any errors when loading a file, so a message will be displayed if the file is not found.
//This creates a new instance of the loader object.
var my_Loader:Loader = new Loader();

//This creates a new instance of the URLRequest object that contains the
//path to the external SWF.
var my_url:URLRequest=new URLRequest("example.swf");

//These listeners detect when the file has finished loading, and if the
//correct file is loaded.
my_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoading);
my_Loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

//The load method then loads the SWF file into the loader object.
my_Loader.load(my_url);

//This function adds the external SWF to the stage.
function finishLoading(loadEvent:Event) {
addChild(loadEvent.currentTarget.content);
}

//This function displays a message if the file is not found.
function errorHandler(errorEvent:Event):void {
trace("file missing");
}

Note: The loaded SWF file will have the same fps as the parent movie. So, if the parent movie is 25fps the loaded SWF will also be 25fps.

Update: You can now load external swf using SWF loader.

If you want to call a function from an externally loaded swf, checkout this tutorial. And if you want to load mutiple external swf's take a look at this tutorial.

Wednesday, 4 November 2009

Preloader showcase

I found a showcase of preloaders from past and present websites over at prettyloaded.com. This website contains an archive of preloaders which basically load preloader after preloader. If you are a Flash designer then this website can provide you with some inspiration. There is also an option to submit a preloader, so if you spot a unique preloader then why not submit it to the website.



So what exactly is a preloader? A preloader is basically a visual cue to show information about the download of a file. The preloader can be made to look attractive to keep the user engaged while the data is being loaded in the background.

Tuesday, 3 November 2009

How to install tweenLite or tweenMax

Many of my tutorials use the tweenLite or tweenMax plug-ins for tweening effects. A common question I get asked all the time is, how to do you install tweenLite or tweenMax? Below is a quick tutorial on how to set up tweenLite or tweenMax.

1. Go to blog.greensock.com and download the tweenLite or tweenMax zip file. Unzip the file and place the ‘gs’ folder inside the same folder as your Fla file. This means Flash will be able to find the class files from the ‘gs’ folder when you publish your swf file.

You can also set up classpath which means you can place the ‘gs’ folder anywhere on your hard drive, but you need to make sure Flash has a reference to the folder. Go to Edit > Preferences > Actionscript > Actionscript 3.0 settings and then select the ‘add new path’ button and browse to the location of your class files then click ok.




2.Before tweenLite or tweenMax will work you need to import the class files. This is so that Flash knows where to look for the files. The most common import statements are show below.

(The following code will only work depending on the version of tweenLite/tweenMax you are using. If you are using version 11 then look at the 'update' section)

//Imports the tweenLite class
import gs.TweenLite;


//Imports all the classes in the gs folder.
import gs.*;

The tweenLite and tweenMax plug-ins come with two demo files that show exactly which statements you need to import for each property, so be sure to keep these files for reference.


UPDATE:

The new version 11 of tweenLite uses a different import statment. The base package 'gs' has changed to 'com.greensock' to comply with the industry standard. So you will now have to write the following.
//Imports all the classes in the greensock folder.
import com.greensock.*;

Monday, 2 November 2009

Black & white gallery part 2

This is a small update from the black and white gallery tutorial. In the previous tutorial you had to use the timeline to add key frames to adjust the saturation property of the movie clip which created the black and white effect. However, I discovered that this effect can be achieved purely using Actionscript code, so step 5 from the previous tutorial can be completely missed out. For this non-timeline effect to work, you will need to use a plugin called tweenMax which can be downloaded from blog.greensock.com/tweenmax. You can of course use the ColorMatrixFilter and Abjustcolor classes from Actionscript 3.0 to create the same effect, but I prefer using tweenMax because you only need five additional lines of code.


Black & white gallery - part 2

Make sure you have completed Step 1 – 4 from the Black & white gallery before you attempt this tutorial as this is a continuation from Step 4. I have removed step 5 from previous tutorial and replaced it with the following step.

Step 5

On the timeline create a new layer called Actions. Then open up the Actions panel and enter the following code:

//Import the packages needed.
import gs.*;
import gs.easing.*;

//1.Array to hold all the picture instances.
var picArr:Array=new Array(pic1_mc,pic2_mc,pic3_mc,pic4_mc,pic5_mc,
pic6_mc,pic7_mc,pic8_mc,pic9_mc);

//2.Function to control the rollover and rollout effect
function rollBW(picture:MovieClip):void {
picture.addEventListener(MouseEvent.MOUSE_OVER, over);
picture.addEventListener(MouseEvent.MOUSE_OUT, out);

function over(event:MouseEvent):void {
TweenMax.to(picture, 1, {colorMatrixFilter:{}});
}

function out(event:MouseEvent):void {
TweenMax.to(picture, 1, {colorMatrixFilter:{colorize:0xFFFFFF}});
}
}

//3.For loop to call move images, and initally set the set images black and white
for (var i = 0; i < picArr.length; i++) {
rollBW(picArr[i]);
TweenMax.to(picArr[i], 0, {colorMatrixFilter:{colorize:0xFFFFFF}});

}

Step 6

Test your black and white gallery effect Ctrl + Enter. Now move your mouse over each of the images and you should notice them turning into colour images.



UPDATE: Black & white gallery - part 3

  COPYRIGHT © 2011 · ILIKE2FLASH · Theme by Ourblogtemplates

Back to TOP