How to build an animated button using Flash

written by: Teodora Andra; article published: year 2007, month 05;


In: Categories » Computers and technology » Flash » How to build an animated button using Flash

Time: 15 Minutes.
Difficulty Level: Intermediate
Requirements: Flash 8
Assumed Knowledge: Basic actionscripting, using the actions window, using variables, creating symbols.

Purpose:
I always wanted to animate a button from ActionScript and keep my timeline clear but it was kind of hard, until I stumbled upon this Tweening Engine from Extend. This tutorial makes use of the Tweening Engine to animate a button. It is indeed a great tool, and I say that because with it took me quite little time to make an animation.

Samples & Introduction
You can check out the button animation in here, as you might want to see it in action. Frankly, I came across with animating a button kind of every time I had to build a website; as a result this extension is now one of the tools I can rely on when starting a new project.

Before you start:

Please download the source files: Animated_Button.fla and TweeningEngine.mxp.

Using the Tweening Engine:

For a starters, install the “TweeningEngine.mxp” extension (you just have to double-click on it and it will lead you to the Extension Manager). You will have to open/reopen Flash.

Create a new document. Set the frame rate to 35.
Make a movie clip containing a rectangle with rounded corners, another one smaller as height and with a lighter color on top the first one and alpha set to 50, then add the text for the button.
Name them and also name the instances. (I have backofbutton, frontofbutton with their corresponding instances: BoB and FoB).
Make another movie clip to contain all of the above mentioned movie clips and text. Name it MyButton – instance name: MyB.

From now on there will be only a bit of coding to be done, but you shouldn’t worry, it will end with a fine animation after exactly 6 lines.

The first two are used to import the tweening classes and the flash transition/easing class and they should be inserted in the Actions window of the first frame inside “MyButton” movie clip.

import xtd.tweening.*;
import mx.transitions.easing.*;
import flash.filters.DropShadowFilter;

We got to the part when we should animate the button. The code bellow is going to scale FoB as to shrink it, the textColoring will change the color of out text and the BackShadow will make the button drop shadow.

var StripShrink = new Tween(FoB, "_yscale", Bounce.easeOut, 95, 0, 10, false);
var textColoring = new ColorTween(TextLine, Strong.easeOut, "current", "663300", 8, false);
var BackShadow = new FilterTween(BoB, new DropShadowFilter(1, 90, 0x000000, .5, 5, 5, 1, 3),"distance",Strong.easeOut,"current",10,20,false);

As you can see there were used three types of Tweens each very simple to understand having to mention the instance of the movie clip it refers to, the property the tween will change, the easing type, the starting value, the ending value, the duration and if the tween starts automatically or not.

As we have chosen “false” for the “autostart”  property, the tweens will start when having the mouse over:
    
   this.onRollOver = function() {
          StripShrink.start();
          BackShadow.start();
          textColoring.start();
   };
   this.onRollOut = function() {
          StripShrink.reverse(Regular.easeIn);
          BackShadow.reverse(Regular.easeOut);
          textColoring.reverse(Regular.easeOut);
   };

When the mouse is no longer on our button the tweens will be reversed with different easing functions.

Closing

To summarize all that I have achieved through this simple animation I should begin by reminding you that with 6 code lines in 15 minutes or less, without any timeline modification there was created a button animation.

Thank you for reading this tutorial and hope you will find useful this tutorial, and the tool I’ve used to make the animated button.

legal disclaimer

1) Our website is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringements, please read the Terms of service and contact us to investigate the problem.
2) The E-articles directory team is not responsible for inaccuracies, falsehoods, or any other types of misinformation this tutorial may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. Please read the Terms of service

Useful tools and features

Translate this article to...    Send this article to you or to a friend

Link to this article from your page   
If you like this article (tutorial), please link to it from your web page using the information above. Linking to this page, this is the only way to help us improve our service, the same time providing your visitors with a way to improve their online experience.

related articles

1. Scripting Masks in Flash
Use the Drawing API to create a shape and then use MovicClip.setMask( ) to apply the mask. Masks can be used to create unique shapes or visual effects. For example, you can use masks to create wipes and transitions or interesting animations in which only the masked portion of the artwork is visible at a given time. You can even create masks that change shape over time, and use them to mask bitmapped graphics (in movie clips). You can use any movie clip as a mask of another movie clip using the setMask( ) method. The setMask( ...

2. Drawing a Triangle using ActionScript
Create a custom MovieClip.drawTriangle( ) method using the Drawing API and invoke it on a movie clip. You can determine and plot the vertices of a triangle given the lengths of two sides and the angle between them. This is a better approach than specifying the lengths of the three sides because knowing the lengths of two sides and the angle between them always determines a triangle, whereas three arbitrary sides may not fit together to make a triangle. The custom drawTriangle( ) method accepts six parameters: ab ...

3. ActionScript: Filling a Shape with a Solid or Translucent Color
Use the beginFill( ) and endFill( ) methods to initiate and close a shape drawn at runtime. To draw a filled shape, call beginFill( ) prior to any other drawing methods, including the custom methods you have defined such as drawCircle( ) and drawPolygon( ). Invoke endFill( ) after calling other drawing methods to create the shape. You cannot apply a fill to an existing shape drawn at authoring time or runtime. You must invoke beginFill( ) before drawing the shape to be filled. This example creates a solid blue ...

4. Drawing a rectangle using ActionScript
Create a custom MovieClip.drawSimpleRectangle( ) method using the Drawing API and invoke it on a movie clip. To draw a simple rectangle, specify the stroke's attributes using the lineStyle( ) method and then draw four lines using the lineTo( ) method: // Create rectangle_mc with a depth of 1 on the main timeline. _root.createEmptyMovieClip("rectangle_mc", 1); // Specify a one-pixel, solid, black line. rectangle_mc.lineStyle(1, 0x000000, 100); // Draw four lines to form the perimeter ...

5. How to draw a rectangle with rounded corners
You want to draw a rectangle with rounded corners, an offset, or rotation.Create a custom MovieClip.drawRectangle( ) method using the Drawing API and invoke it on a movie clip. The drawSimpleRectangle( ) method is, as the name suggests, quite simple. Let's create a more complex version that also: Draws a rectangle with a specified angle of rotation Let's you specify the rectangle center's coordinates Can draw a rectangle with rounded corners The drawRectangle( ) method accepts...

6. Reusing and Organizing Code in Flash Movies
You want to reuse code that you've created for one project in another Flash movie. Or you want to write your ActionScript code in an external text editor. Place your ActionScript code in external .as files and use the #include directive to add them to your Flash movies: // Adds all the code within MyActionScriptFile.as to your Flash movie. #include "MyActionScriptFile.as" Use the #include directive to incorporate code from external text files into your Flash movie during compilation from a .fla file ...

7. Drawing a Circle using ActionScript
Create a custom MovieClip.drawCircle( ) method using the Drawing API and invoke it on a movie clip. You can create a circle in ActionScript with eight curves. Fewer curves results in a distorted circle and too many curves hinders performance. Let's create a custom method of the MovieClip class for drawing circles. This method, drawCircle( ), allows for three parameters: radius The radius of the circle x The x coordinate of the circle's center point. If undefined, the circle is centered at x =...

8. ActionScript: Repeating a Task at Timed Intervals
You want to perform an action or actions at a specific timed interval. Use the setInterval( ) function. The setInterval( ) function allows you to specify an interval (in milliseconds) at which your Flash movie will invoke a function. Use setInterval( ) to perform a particular action over time but not necessarily at the frequency of the frame rate of the movie. // Define a function. function myIntervalFunction ( ) { // Output the difference between the current timer value and its value from the ...

9. Mouse Location Flash Script
Not only can you get the location of a movie clip on the screen, you can even get the location of the mouse, also known as the cursor. What is the difference between the mouse and the cursor? The mouse is the physical device attached to your computer. You may even have a track pad or tablet instead. The cursor is the graphic that moves around the screen as you move your mouse. So, technically, cursor is the term I should be using here. However, ActionScript uses the term mouse in its keywords. I will therefore use mouse and cursor i...