ActionScript 3.0 in Flash Professional CS5 Essential Training
Illustration by John Hersey

Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now

Video: Understanding functions

Functions are the secondary building block in programming, and allow you to store related tasks in named groups, so they can be reused in the most efficient way possible. In ActionScript, functions are actions, comparable to verbs, so they do things. Now I want you to think of riding a bicycle. You think of riding a bicycle as one task, but it's really a group of related tasks.
Expand all | Collapse all
  1. 3m 22s
    1. Welcome
      1m 23s
    2. Using the exercise files
      1m 17s
    3. Using the function keys
  2. 23m 38s
    1. Adjusting preferences for ActionScript fonts, colors, and formatting
      3m 25s
    2. Changing Flash Player and ActionScript versions in the Publish settings
      1m 35s
    3. Reading and solving errors through the Compiler Errors window
      2m 49s
    4. Using the Actions panel buttons to add and remove comments
      2m 33s
    5. Using the Actions panel to format code
      1m 49s
    6. Using the Actions panel Toolbox
      2m 4s
    7. Seldom-used but helpful functions of the Actions panel
      3m 14s
    8. Understanding code hinting
      2m 3s
    9. Reviewing the Code Snippets panel
      3m 7s
    10. Using help
  3. 45m 50s
    1. Understanding how ActionScript 3.0 code is processed in the Flash Player
      3m 22s
    2. Understanding variables
      4m 56s
    3. Understanding functions
      9m 1s
    4. Understanding events and event listeners
      5m 47s
    5. Working with conditional statements
      9m 49s
    6. Creating arrays and vectors
      6m 50s
    7. Using the For command to create a loop
      6m 5s
  4. 49m 9s
    1. Reviewing the display list
      3m 0s
    2. Understanding instances referenced through ActionScript
      2m 27s
    3. Using dot syntax to modify properties in an instance
      3m 25s
    4. Placing objects at the center of the stage
      4m 2s
    5. Placing objects at the edges of the stage
      5m 53s
    6. Using the methods of an instance
      3m 44s
    7. Accessing the parents, children, and grandchildren of objects
      5m 50s
    8. Creating instances from Library movie clips using ActionScript
      4m 23s
    9. Adding objects to the stage and changing parents with the addChild method
      5m 45s
    10. Removing objects from the stage with the removeChild method
      4m 17s
    11. Using the numChildren property to loop through a container's child objects
      3m 17s
    12. Using the getChildByName method
      3m 6s
  5. 56m 20s
    1. Understanding timelines
      4m 15s
    2. Using common timeline navigation methods
      5m 34s
    3. Using the currentFrame and totalFrames properties
      8m 2s
    4. Controlling the timeline of an instance
      6m 41s
    5. Detecting and navigating frame labels with ActionScript
      7m 57s
    6. Solving problems when timelines and ActionScript animation collide
      4m 16s
    7. Condensing a multi-frame timeline into one frame
      8m 33s
    8. Creating a simple slide presentation app in the timeline
      7m 51s
    9. Using one event handler with multiple buttons
      3m 11s
  6. 36m 5s
    1. Creating a class using Flash templates
      4m 43s
    2. Setting a document class
      6m 51s
    3. Preparing a class to be connected to a symbol
      4m 31s
    4. Using the Symbol Properties menu to connect a symbol to a class
      4m 55s
    5. Resolving problems with instances in a linked class
      7m 53s
    6. Understanding packages
      3m 17s
    7. Working with ActionScript source paths
      3m 55s
  7. 44m 32s
    1. Viewing the finished game
    2. Viewing the FLA file
      2m 9s
    3. Creating the DragDrop and Map classes
      2m 51s
    4. Linking the draggable class to Library symbols
      2m 47s
    5. Adding drag-and-drop functionality
      3m 38s
    6. Saving and resetting an object's position
      3m 33s
    7. Giving a target drop object to the draggable objects
      13m 16s
    8. Showing a Win screen
      7m 3s
    9. Resetting the game
      8m 24s
  8. 29m 6s
    1. Loading bitmap images from the Library
      4m 6s
    2. Loading bitmap images from external files
      5m 22s
    3. Adding mouse functionality to bitmap images
      3m 31s
    4. Using a loop to load multiple images
      6m 14s
    5. Creating a simple slideshow
      8m 37s
    6. Using Flash Player 10 color management
      1m 16s
  9. 27m 13s
    1. Loading an external SWF
      4m 14s
    2. Running ActionScript code in an external SWF from its parent
      5m 30s
    3. Running parent code in a child SWF
      5m 7s
    4. Creating a timeline-based preloader to load an external SWF file
      5m 3s
    5. Displaying playback progress of a loaded SWF file
      7m 19s
  10. 40m 10s
    1. Creating plain text files
      2m 8s
    2. Loading text from an external text file
      6m 26s
    3. Loading multiple text files
      6m 43s
    4. Rendering simple HTML in a text field
      5m 51s
    5. Creating a scroll bar for a text field
      5m 29s
    6. Scrolling a text field
      4m 59s
    7. Scrolling movie clips and other objects using masks
      5m 42s
    8. Modifying TLF text properties through ActionScript
      2m 52s
  11. 23m 40s
    1. Reviewing XML and E4X syntax
      3m 29s
    2. Loading an XML file
      3m 26s
    3. Using dot syntax to access XML data
      4m 2s
    4. Using XML data to populate a DataGrid component
      7m 4s
    5. Using XML data to load image files
      5m 39s
  12. 23m 33s
    1. Loading audio from the Library
      1m 41s
    2. Loading audio from external files
      3m 41s
    3. Playing, pausing, and stopping sounds
      5m 39s
    4. Muting all audio with the SoundMixer.stopAll method
      1m 28s
    5. Tracking load progress
      2m 38s
    6. Displaying sound position
      5m 5s
    7. Adjusting volume
      3m 21s
  13. 19m 54s
    1. Touring the FLA file
      5m 57s
    2. Controlling video playing and pausing with ActionScript
      1m 56s
    3. Working with ActionScript cue points to add closed captioning
      3m 35s
    4. Displaying video playback position
      3m 44s
    5. Adjusting video volume
      4m 42s
  14. 5m 32s
    1. Using new code snippets for AIR and mobile
      1m 13s
    2. Viewing the new code snippets HUD
      1m 17s
    3. Loading assets with the new ProLoader class
      1m 8s
    4. Understanding Flash Player premium features
      1m 54s
  15. 16s
    1. Goodbye

please wait ...
Watch the Online Video Course ActionScript 3.0 in Flash Professional CS5 Essential Training
7h 8m Beginner Oct 21, 2010 Updated May 23, 2012

Viewers: in countries Watching now:

In ActionScript 3.0 in Flash Professional CS5 Essential Training, Todd Perkins shows Flash designers how to incorporate ActionScript code into their projects and create interactive presentations and applications. The course includes a review of ActionScript language basics and the object-oriented programming (OOP) methodology, a tour of those Flash Professional CS5 features designed for developers, such as code hinting and the Code Snippets panel, and instructions on interacting with objects in the Library and placing code on the Timeline. Exercise files are included with the course.

Topics include:
  • Understanding the building blocks of ActionScript
  • Working with the display list
  • Using dot syntax
  • Navigating the Timeline
  • Creating document classes
  • Linking classes to Library objects
  • Adding drag/drop functionality to objects
  • Creating a slide show
  • Loading and running code in an external SWF
  • Working with text
  • Accessing XML data
  • Playing audio and video with ActionScript
Developer Web
ActionScript Flash Professional
Todd Perkins

Understanding functions

Functions are the secondary building block in programming, and allow you to store related tasks in named groups, so they can be reused in the most efficient way possible. In ActionScript, functions are actions, comparable to verbs, so they do things. Now I want you to think of riding a bicycle. You think of riding a bicycle as one task, but it's really a group of related tasks.

So you have sitting on the bike, pedaling, balancing, et cetera. So just like that, a function takes a group of tasks and names in them. They usually have active names, like one of the functions you're familiar with is probably Stop(). Stop is a built-in function. Remember, it's blue, and that stops the timeline. Notice that it's sort of an action word.

Another function is gotoAndPlay(). It looks pretty similar to stop, in that there is a blue phrase and some parentheses and a semicolon, except for in the parentheses you place which frame you want to go to. So gotoAndPlay groups related tasks. It takes the playhead, moves it to a particular frame, in this case 3, and plays from there.

I can go on, but I think you get the point. Now, there is a difference between running a function and creating a function. Running a function is as simple as typing the function name in parentheses. Creating the function is a little bit more complicated. To create a function in Flash, type the word 'function.' Remember, it should be all lowercase, and it should be blue after you type it, showing that it's a keyword reserved for Flash. Type a space, and then type the name of the function.

Let's say I wanted to create a function that added numbers, so I'll call this addNumbers. Usually, a function name starts with some type of action word. Here my action word is add. So it describes what the function does. I also like to write in camel-case, meaning each new word starts with a capital letter. This is useful because you can't use spaces in function names.

After the name of the function, type some parentheses. After the parentheses, you specify what type of data the function will return. We'll look at this in more detail later on, but for now, just type a colon, and then type void. This is going to be one of the very few datatypes that starts with a lowercase letter, so v-o-i-d, with a lowercase v. Go to the next line, type an open curly brace, that's Shift+Square Bracket, and then press Enter or Return.

Depending on your ActionScript settings, Flash may or may not write a curly brace for you, so you might have to add that close curly brace. Inside of the curly braces, I can write my tasks that the function will do. This is usually a set of commands, one on each line. So let's say I wanted to just add a simple trace statement here. So I'll type trace - remember that puts a message in the output window, some parentheses, and a semicolon. In the parentheses, I'm not going to use quotes; I'm just going to type 1 + 2.

So I'm going to trace 1 + 2. Now if I were to test the movie, then nothing would happen at this point, because remember, I said that there is a difference between declaring a function and running a function. So this block of code I have highlighted here is simply declaring a function. It's saying that it exists, and you can run it whenever you want. In order to run the function, go below the curly braces, or of course, you can go above the word 'function.' It doesn't matter; as long as it's in your code, Flash will find where the function is.

Then type the name of the function. So it's addNumbers and some parentheses, and a semicolon. So notice that it looks kind of like the stop function. It has the command and then the parentheses and a semicolon. But it's not blue, because this is a custom function that we just created. So test the movie. There, you can see 3 in the output window. To make a function more reusable, you can add something called parameters.

Remember, when you ran the gotoAndPlay function that you passed in a number that tells Flash what frame to go to and play from. So we'll look at doing that here with our custom function. So let's say when you addNumbers, you're going to put the numbers that you want to add inside of the function. So every time you run the addNumbers function, you can use different numbers, and basically you have the function do something unique each time you run it. Let's look at how that works.

Put your cursor in the parentheses, at the top of your code, right after the open parenthesis after addNumbers; Type num1. So all lowercase, num, n-u-m, and then a 1. This is the first parameter, and I am going to declare its datatype. So I'm going to type a colon, and then I'm going to type the word 'Number' with the capital N. Once I see it's highlighted in the Code Hinting window, I'm just going to press Return, and have Flash complete that for me.

Then I'm going to type a comma, and then I'm going to type a space, and the I'm going to type num2:Number, just like I did for num1 function Most of the time spaces don't matter, so I can either have a space or not have a space here, but I prefer to put spaces because it helps me to read the code a little easier. So we have num1 and num2. Now I'm going to replace these numbers inside of the function with num1 and num2.

So instead of adding 1 + 2, it's going to add num1 + num2. Now these numbers don't have any values yet. They won't have any values until we run the function and tell Flash which values those should be. So go down to the bottom of your code, when you're running the addNumbers function. Right after the open parenthesis, put one number - I'll put 5, put a comma, and notice the Code Hinting window comes up.

It says addNumbers, which is the name of our function. It says there are two values. There is num1 - that is a number, and then there is num2, that is also a number. So for num2, I'll put in 10. So now I'll test the movie, and look in the Output window. So now I have 15. So the magic of the function is that I can reuse this as many times as I want. I can highlight the addNumbers line of code on line 6, copy it with Command+C or Ctrl+C, and then go down and paste it, and repeat that, paste in a few more times, and I can change the numbers that I'm adding to whatever I want.

So now I can test the movie again. For some reason, the Output window scrolled down, and I don't see anything, but there actually is something there. So if I close that window and close the Actions panel and scroll up, you'll see the numbers that were added for me. So you've seen that I can reuse this function as many times as I want. Right now, it's only just one line of code, but imagine if you wrote 20 lines of code inside the function, and instead of having to rewrite 20 lines of code four times, you simply put it into a function, and you can just call the function or run the function four times, passing in different values like we're doing here.

As we go throughout the rest of this title, you'll see more uses of functions and get experience learning how effective they can be. What I want you to remember now is that functions are groups of commands that are named and can be reused to organize and optimize your applications.

Find answers to the most frequently asked questions about ActionScript 3.0 in Flash Professional CS5 Essential Training .

Expand all | Collapse all
please wait ...
Q: Will the exercise files for this course work with Flash CS6?
A: Yes, the code should work fine. The language has not changed since CS5.
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed ActionScript 3.0 in Flash Professional CS5 Essential Training.

Return to your organization's learning portal to continue training, or close this page.

Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.