Home > Store

Macromedia Flash Professional 8 Unleashed

Register your product to gain access to bonus material or receive a coupon.

Macromedia Flash Professional 8 Unleashed


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2006
  • Edition: 1st
  • Book
  • ISBN-10: 0-672-32761-9
  • ISBN-13: 978-0-672-32761-2

Macromedia Flash is a key technology for designing and delivering low-bandwidth animations, presentations, and web sites. More recently it has become development environment, complete with scripting capabilities and server-side connectivity. Flash has the ability to easily integrate with, and add interactivity to, complex media types with powerful and intuitive tools. Developers can rapidly develop high performance, accessible content using pre-assembled building blocks and expand their authoring capabilities with custom extensions from independent developers.

Macromedia Flash MX Unleashed covers these high-end topics, providing you with a solid and complete reference for building Flash websites and applications. Fundamentals are covered quickly in the first part of the book, with the majority of the content devoted to coverage of ActionScript and how Flash works with varied middleware. You'll also learn how to integrate Flash with several other technologies, including XML and PHP.



Source code files - 70 MB


Sample Content

Online Sample Chapters

Creating Graphics in Flash

Creating Graphics in Flash

Table of Contents



1. What's New?

    The Interface

    Tabs on the Mac

    Tabs in Panels Are Back

    One Library to Rule Them All

    Bigger Pasteboard

    Two Levels of Undo

    Object Drawing-The New Grouping

    Content on the Go

    Hide and Seek Is Over

    Welcome Back, Normal Mode

    The Fastest Flash Player Ever


    Cache as Bitmap



    Stroke Improvements

    Video in Flash

    New Dynamic Content


    File Upload


2. Getting Started with Flash Professional 8.

    Humble Beginnings-Where Flash Came From

    The Interface

    The Stage

    The Properties Inspector Panel

    Flash Panels

    Check Your Spelling


    The General Category

    The ActionScript and Auto Format Categories

    The Clipboard Category

    The Drawing Category

    The Text Category

    The Warnings Category


    Making a Better Workspace


3. Creating Graphics in Flash.

    The Toolbar

    The Colors Section

    The View Section

    The Tools Section

    Colors and Gradients

    The Color Swatches Panel

    The Color Mixer Panel

    Grouping and Drawing Objects


    Drawing Objects

    Stacking Groups

    Importing and Working with Bitmaps

    Creating a Bitmap Fill

    Tracing Bitmaps

    Swap Bitmap


4. Flash Animation.

    Welcome to the Timeline

    The Layers Section

    The Frames Section

    Frame by Frame

    Your First Animation


    Your First Tween

    Shape Hints


5. Symbols, Instances, and the Library.

    What Is a Symbol?

    What Is an Instance?

    The Graphic Symbol

    When Should You Use a Graphic?

    Converting to a Symbol

    The Button Symbol

    An Interactive Button

    Memoirs of an Invisible Button

    The Movie Clip Symbol

    The Library

    Back to the Timeline

    Your First Motion Tween

    The Tween Editor

    Nested Animation

    Motion Guides

    The Mask Layer


6. Working with Sound and Video.

    Why Sound?

    Adding Sound

    Sound in the Properties Inspector

    Sound Effects

    Creating a Custom Effect

    Syncing and Looping

    Compressing Sound

    Sound with ActionScript

    Video in Flash

    Importing Video into Flash


7. Publishing.

    The Publish Settings

    Publishing Profiles

    The Formats Tab

    For the Web


    Projectors and QuickTime

    Flash Player 8 and SWFs

    The Flash Tab

    The Version Field

    The Sound Settings

    The HTML Tab

    Detect Flash Version

    The GIF Tab

    The PNG Tab

    The JPEG Tab

    The QuickTime Tab



8. Welcome to ActionScript 2.0.

    What Is ActionScript?

    Object-Oriented Programming

    What Is an Object?

    Properties of an Object

    Methods of an Object

    Events of an Object

    Where Do Objects Come From?

    Prototyping an Object

    Introduction to ActionScript 2.0

    Declaring Variables and Instance Names

    Strict Data Typing Variables

    Strict Data Typing with Functions

    The Actions Panel

    Actions Panel Preferences

    Reference/Help Panel

    Behaviors and the Behaviors Panel

    ActionScript Fundamentals


    Code Hints and Naming Conventions


    Triggering Code Hints with Comments

    Strict Data Typing to Trigger Code Hints

    Dot Syntax

    The Movie Clip Object



    Loop Statements


9. Strings, Numbers and Variables-In Depth.

    Types of Data Types

    The String Data Type

    Creating a String

    Empty Strings


    Escape Sequences

    Manipulating Strings

    Joining Strings

    Indexing Characters in Strings

    Unicode-Style Strings

    The Number Data Type

    Creating a Number

    Solving the Problem of Repeating Decimal Points

    Predefined Values for Numbers

    Bonus Numbers

    Boolean Data Type

    Null Data Type

    Undefined Data Type

    Array Data Type


    Making a Variable

    Changing Data in Variables

    Incrementing and Decrementing Variables

    Empty Variables

    Comparing Variables

    Combining Types of Values in Variables

    Converting Variables Using Functions and Methods

    The Scope of a Variable

    An Applied Example


10. Arrays.

    What Is an Array and How Does It Work?

    Deconstructing an Array

    Creating an Array

    Retrieving Information from an Array

    Adding Elements to Arrays

    The push Method

    The unshift Method

    The splice Method

    The concat Method

    Naming Array Elements

    Removing Array Elements

    The delete Operator

    Removing Elements Using the length Property

    The splice Method Revisited

    The pop Method

    The shift Method

    Changing Elements in Arrays

    Advanced Nested Arrays

    Additional Array Methods

    The toString Method

    The join Method

    The slice Method

    The reverse Method

    Sorting Arrays

    The sortOn Method

    Applied Example


11. Statements and Expressions.

    Statement Syntax

    Statement Block

    Object Statements

    The with Statement

    The for in Statement

    Flow Modifiers

    Conditional Statements

    Comparison Operators

    The if Statement

    The else Statement

    The else if Statement

    switch, case, default, and break

    Loop Statements


12. Functions.

    Creating a Function

    Running the Function

    Using Parameters in Functions

    Functions That Return Values

    Nested Functions

    Function Scope

    Mapping to a Function

    The global Identifier

    Variables and Functions

    The Arguments Class

    The length Property

    Functions as Objects

    Functions as Methods

    Functions Built In to Flash

    The call Function

    Conversion Functions

    Mathematical Functions

    Deprecated Functions


13. The Movie Clip Object.

    Creating Movie Clips

    Creating Movie Clips Manually

    Creating Movie Clips with ActionScript

    Manipulating Movie Clips

    Animating Movie Clips with ActionScript

    The cacheAsBitmap Property

    Using Math to Help Animate Movie Clips

    Using the Color Object

    The blendMode Property


    Depth and the Stacking Order

    Duplicating Movie Clips

    Removing Movie Clips

    The removeMovieClip() Method

    The Drawing API

    The lineStyle() Method

    The moveTo() Method

    The lineTo() Method

    The lineGradientStyle() Method

    The beginFill() Method

    The beginGradientFill() Method

    The curveTo() Method


14. Events.

    Handling Events

    The Callback


    Duplicating Effort

    Callbacks Versus Listeners-The Showdown

    Button Events

    Movie Clip Events

    Movie Clips Handling Button Events

    Events of the Mouse Object

    Events of the Key Object

    Events of the TextField Object

    Cross-Object Events


15. Working with Text.

    The Text Field Interface

    Spell Checking Text Fields

    Creating Text Fields

    Static Text

    Dynamic Text

    Input Text

    Creating Text Fields in ActionScript

    Formatting the Text in Text Fields

    The TextFormat Object

    Cascading Style Sheets

    Scrolling Text Fields

    The Mouse Wheel Event

    HTML Text in Text Fields

    The Image Tag

    HTML Text Fields and JavaScript

    Multilanguage Text

    Unicode-encoded Strings

    The Strings Panel


16. Components.

    What Is a Component?

    Getting Started with Components

    The Components Panel

    Adding Components to the Stage

    The attachMovie() Method

    Setting Parameters

    The Properties Inspector

    Changing the Parameters of a Component

    The Component Inspector Panel


    Capturing Component Events

    Getting Data from Components

    Skinning Components

    Manually Skinning a Component

    Using the style Property

    The dataProvider Property

    Data Binding

    Creating a Version 2.0 Component


17. Debugging.

    What Is Debugging?

    Planning Ahead

    Names That Make Sense


    Strict Data Typing

    Prototyping and Testing

    Tools of the Trade

    The trace Function

    List Options

    The Error Object

    Sizing Up Your Project

    The Debugger

    Remote Debugging



18. External ActionScript.

    Why Use External ActionScript?

    #include Versus Classpath

    Getting Started with External Class Files

    Defining a Class

    Public, Private, and Static

    Declaring Properties with a Constructor Function

    Creating Methods

    Creating Getter/Setter Methods

    Creating Events

    Creating Callback Events

    Creating Listener Events

    Bringing It All Together


19. Loading Visual Content.

    Why Load External Content?

    What Content Can Be Loaded and Where?

    Loading Images Dynamically

    The loadMovie() Method


    The loadMovieNum() Method

    The unloadMovie() Method

    The removeMovieClip() Method

    The unloadMovieNum() Function

    The Loader Component

    Loading SWF Files into Flash

    Manipulating Loaded SWF Files

    Loading External Content into Text Fields

    Manipulating Embedded Content in Text Fields


    The getBytesTotal() and getBytesLoaded() Methods

    The ProgressBar Component


20. Introduction to Data Integration.

    Why Dynamic Content?

    The getURL() Method

    The MIME Format

    The escape() and unescape() functions

    The loadVariables Method

    The onData Event

    The loadVariablesNum() Method

    The LoadVars Object

    The load() Method

    The onLoad Event

    The Undocumented onData Event

    The ExternalInterface API

    The Call Method

    The addCallback Method


21. ASP and Flash.

    What Is ASP?

    How Does ASP Work?

    Getting the Server

    Intro to ASP Scripting

    Your First ASP Page

    Sending and Receiving Data

    Receiving Data in ASP

    Sending and Receiving in Flash

    Accessing Access


22. PHP and Flash.

    Setting Up Your Server

    Installing Apache Server

    Installing PHP

    Installing MySQL

    Now That It's All Installed

    Learning More About PHP

    PHP and Flash-Receiving Data

    Example 1-Hello World

    Example 2-Hello, Goodbye World

    Example 3-Multiple Values and Multiple Variables

    Example 4-Sending Mail with Flash and PHP

    PHP and Flash-Sending and Receiving Data

    Example 5-Confirming sentMail

    Incorporating a MySQL Database

    Example 6-Address Book

    File Uploads-Flash 8 Specific

    Example 7-File Upload


23. Flash Remoting with ColdFusion.

    What Is Flash Remoting?

    The Application Server

    Technical Requirements

    ColdFusion and Flash Flowchart

    Flash Remoting Setup Process

    Setting Up the Server

    Installing IIS

    Installing ColdFusion MX7

    Setting Up Your Database

    Creating a ColdFusion Data Source

    Reviewing the Application

    Let's Begin: ColdFusion Components (CFCs)

    Flash Remoting and ActionScript 2.0

    Import Flash Remoting ActionScript Classes

    Establish a Gateway Connection and Service

    Communicate with the CFC and Handle the Results

    Building Your Application


24. XML and Flash.

    What Is XML?

    Formatting XML

    Rules of XML


    Elements Versus Attributes

    XML and Flash

    The XML Object

    The XMLConnector Component

    The trigger() Method

    The result Event

    The Tree Component


25. Web Services and Flash.

    What Is a Web Service?

    Why Use Web Services?

    Creating a Web Service

    Consuming Web Services with Flash

    Using the XML Object

    Flash Remoting

    The Web Services Panel

    The WebServiceConnector Component

    Data Binding

    Consuming Outside Web Services

    Absorbing the Amazon Web Service


26. Streaming Media.

    Why Stream Media?

    Creating a Flash Video

    The NetConnection Object

    The NetStream Object

    The play() Method

    The pause() Method

    The close() Method

    The seek() Method

    The setBufferTime() Method

    The onStatus Event

    Properties of the NetStream Object

    The Video Object

    The attachVideo() Method

    Streaming Video

    The FLVPlayback Component

    The Camera Object

    The get() Method

    The activityLevel Property


27. Extending Flash.

    Why Extend Flash?


    The History Panel

    Saving Commands from the History Panel

    Creating Commands Manually with JSFL

    Managing Commands

    XML-to-UI Controls

    Creating Behaviors

    Creating Your Own Panels

    Creating Custom Tools

    Creating Custom Effects

    File I/O in JSFL


28. Beyond Flash.

    Flash Alternatives




    Wildform FlixPro

    Sorenson Squeeze

    Swift 3D


    Enhancing Flash Files


    Action Script Viewer 4.0

    SWF Encrypt(tm)

    Beyond the Web



    SWF Studio 3.0



IV. Appendix.

A. ActionScript Reference.

    The BitmapData Class



    The ExternalInterface Class



    The BevelFilter Class


    The BlurFilter Class


    The ColorMatrixFilter Class


    The ConvolutionFilter Class


    The DisplacementMapFilter Class


    The DropShadowFilter Class


    The GlowFilter Class


    The GradientBevelFilter Class


    The GradientGlowFilter Class


    The ColorTransform Class



    The Matrix Class


    The Point Class



    The Rectangle Class



    The Transform Class


    The FileReference Class




    The FileReferenceList Class




    The TextRenderer Class





Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020