Some AS3 examples

Here are a few basic AS3 examples. These cover some of the everyday chores that you may need to solve with AS3. Such as:

  • Making buttons and assigning scripts to them.
  • Using the Document Class. All of these examples store their script in the Document class.
  • Creating a group of buttons. Enabling and disabling buttons.
  • Loading images into a movie.
  • Animating the timeline.
  • Animating the properties of clips.
  • Attaching clips to the stage.

All of these examples store their scripts in a class file that has the same name as the example fla. This file is set as the Document class in the fla.

A few simple AS3 examples

Updated 10/13/07, added an extra example that attaches and removes symbols in the library to the stage.

Where's onRelease in AS 3?

It looks like AS 3 has done away with onRelease, onRollover etc. All of these still work in AS 2. But what do you do if you want to make a project in AS 3?

The following is the new system. Imagine you have made a Movie Clip button and named the instance on the stage b_0:

b_0.addEventListener( MouseEvent.CLICK, button_function );
b_0.buttonMode = true;
function button_function( evt:MouseEvent ) {
trace( "you clicked the button" );
}

If you are using a button clip you do not need the line:

b_0.buttonMode = true;

This is used to make MovieClip buttons show the hand cursor and automatically jump to the frame markers _up, _over and _down on their timeline.

If your button contains a text field, this can capture the mouse focus. That is rolling over the text within the button will take focus from the button as if you had rolled off it. Use the mouseChildren property to trap mouse events, keeping them from being passed on to nested objects.

b_0.mouseChildren = false;

For more infromation: http://www.communitymx.com/blog/index.cfm?newsid=863

ImageBar Class

This class creates a row of image icons. The icon row can scroll based on mouse position or the scrolling can be tied to a button.

This class is a work in progress and can use some improvement.

To use the ImageBar class make a new instance of the class and pass it an array of Identifiers for symbols in your library that will act as icons on the bar.

Using the ImageBar you will follow this basic process. Create an array of symbols that will become images on the bar. Then make a new instance of ImageBar, passing parameters describing how the ImageBar will be displayed. One of these parameters is the array of Symbols to be displayed on the bar.

For example, the following code defines an array and then makes a new instance of ImageBar.

var icon_array = [ "Symbol 1", "Symbol 2", "Symbol 3", "Symbol 4", "Symbol 5", "Symbol 6", "Symbol 7" ];
var my_ib = new ImageBar( image_mc, // Target MC
1, 		// Depth
200, 		// view width
50,		// view height
icon_array,// icons
50,		// icon width
50,		// icon height
5 );  		// icon space

The code above builds the ImageBar in the movie clip image_mc at depth 1. Sets the width to 200 and the height to 50. Adds images to the bar from the array icon_array. Each image on the bar is defined with a width of 50 and a height of 50 and a spacing of 5 between each.

The Imagebar provides several methods and properties that determine how the icons movie on the bar. The example files show some of the various ways ImageBar can be used.

ImageBar Class

public function ImageBar( host_clip:MovieClip,
depth:Number,
width:Number,
height:Number,
array_of_images:Array,
image_width:Number,
image_height:Number,
image_spacing:Number )

Create an instance of ImageBar with the constructor.

public function set_border( stroke_weight:Number, stroke_color:Number ):Void

Set the border for an instance of ImageBar. Assign a stroke weight and color.

public function scroll_inside_box( onOff:Boolean ):Void

Call this function and pass true to make the ImageBar scroll only when the cursor is within the area of the ImageBar. Or, false to have the ImageBar scroll always, regardless of where the cursor is at.

public function auto_scroll( auto:Boolean ):Void

Call this function and pass true to make the ImageBar scroll automatically. When ImageBar scrolls automatically it scrolls in relation to the cursor position. When this is set to false the ImageBar does not scroll in relation to the cursor. Use a false setting in conjunction with buttons or other elements to trigger scrolling in the ImageBar.

public function shift_icons( n:Number ):Void

Use this function in conjunction with auto_scroll( false ) to shift the ImageBar from a button or other input. Pass the number of images to shift. For example ImageBar.shift_icons( 3 ) moves the ImageBar three images widths to the right. Negative numbers will shift to the left.

public function shift_left( ):Void

Use this with auto_scroll( false ). Shifts the ImageBar it’s width to the left.

public function shift_right( ):Void

Use this with auto_scroll( false ). Shifts the ImageBar it’s width to the right.

public function scroll_percent( n:Number ):Void

Use this method with auto_scroll( false ). Moves the ImageBar from 0 to 100% along it’s entire length of travel.

public function get_icon_symbol_array():Array

Returns an array of Symbols that have been attached to the ImageBar instance.

public function get_icon_instance_array():Array

Returns an array of all of the images instances attached to the ImageBar instance.

public function set_speed( n:Number ):Void

Pass this function a value that sets the speed the ImageBar scrolls.

ImageStreak Class update

Here’s an update to the ImageStreak Class. I have added a new method that sets the number of horizontal pixels drawn with each pass. This gives much better control over the speed of the transition.

Once you have created an instance of ImageStreak call the following method to set the number of horizontal pixels drawn with each pass. The following would set a 10 pixel step.

my_is.setStep( 10 );

Remember you can also set the setSpeed() method to change the time between drawing intervals. Between setStep() and setSpeed() it should be possible to get a wide range speeds.