Macromedia Flash ActionScript - 2.0 User Guide

LEARNING ACTIONSCRIPT™ 2.0 IN FLASH
®
© 2007 Adobe Systems Incorporated. All rights reserved.
Learning ActionScript 2.0 in Adobe® Flash®
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.
Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.
Adobe®, Flash®, FlashHelp®, Flash® Player, JRun™, Macromedia® and Shockwave® are either registered trademarks or trademarks of Adobe Systems Incorporated
in the United States and/or other countries.
Macintosh® is a trademark of Apple Computer, Inc., registered in the United States and other countries. Windows® is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners.
Portions of this product contain code licensed from Nellymoser. (www.nellymoser.com).
Sorenson Spark
video compression and decompression technology licensed from Sorenson Media, Inc.
Flash CS3 video is powered by On2 TrueMotion video technology. © 1992-2005 On2 Technologies, Inc.
All Rights Reserved. http://www.on2.com.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Intended audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
System requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Updating Flash XML files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
About the documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Additional resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Chapter 1: What’s New in Flash ActionScript . . . . . . . . . . . . . . . . 19
New in ActionScript 2.0 and Flash Player 9.x . . . . . . . . . . . . . . . . . . . . . 19
New in ActionScript 2.0 and
Flash Player 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Changes to security model for locally installed SWF files. . . . . . . . . . 28
Chapter 2: About ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
What is ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
About choosing between ActionScript 1.0 and ActionScript 2.0 . . . 33
Understanding ActionScript and Flash Player . . . . . . . . . . . . . . . . . . . 34
Chapter 3: Data and Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . 35
About data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
About data types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
About variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Organizing data in objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
About casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Chapter 4: Syntax and Language Fundamentals . . . . . . . . . . . . . 77
About syntax, statements, and expressions . . . . . . . . . . . . . . . . . . . . . . .78
About dot syntax and target paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
About language punctuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
About constants and keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
About statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
About arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
About operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3
Chapter 5: Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . 163
About functions and methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Understanding methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Chapter 6: Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
About object-oriented programming and Flash . . . . . . . . . . . . . . . . . . 188
Writing custom class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
About working with custom classes in an application . . . . . . . . . . . . . 199
Example: Writing custom classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
Example: Using custom class files in Flash . . . . . . . . . . . . . . . . . . . . . .236
Assigning a class to symbols in Flash . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Compiling and exporting classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Understanding classes and scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
About top-level and built-in classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
About working with built-in classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Chapter 7: Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
About inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
About writing subclasses in Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
Using polymorphism in an application . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Chapter 8: Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
About interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Creating interfaces as data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Understanding inheritance and interfaces . . . . . . . . . . . . . . . . . . . . . . .282
Example: Using interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283
Example: Creating a complex interface . . . . . . . . . . . . . . . . . . . . . . . . .285
Chapter 9: Handling Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
About ActionScript and events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
Using event handler methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
Using event listeners. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
Using event listeners with components . . . . . . . . . . . . . . . . . . . . . . . . .298
Using button and movie clip event handlers . . . . . . . . . . . . . . . . . . . . 300
Broadcasting events from component instances. . . . . . . . . . . . . . . . 305
Creating movie clips with button states . . . . . . . . . . . . . . . . . . . . . . . . 305
Event handler scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Scope of the this keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Using the Delegate class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
4Contents
Chapter 10: Working with Movie Clips . . . . . . . . . . . . . . . . . . . . . 313
About controlling movie clips with ActionScript . . . . . . . . . . . . . . . . . .314
Calling multiple methods on a single movie clip . . . . . . . . . . . . . . . . . . 316
Loading and unloading SWF files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Changing movie clip position and appearance . . . . . . . . . . . . . . . . . . .319
Dragging movie clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Creating movie clips at runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Adding parameters to dynamically created movie clips. . . . . . . . . . . 325
Managing movie clip depths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
About caching and scrolling movie clips with ActionScript . . . . . . . 330
Using movie clips as masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Handling movie clip events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Assigning a class to a movie clip symbol. . . . . . . . . . . . . . . . . . . . . . . . 339
Initializing class properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Chapter 11: Working with Text and Strings . . . . . . . . . . . . . . . . 343
About text fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
About loading text and variables into text fields . . . . . . . . . . . . . . . . . 353
Using fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
About font rendering and anti-alias text . . . . . . . . . . . . . . . . . . . . . . . . 367
About text layout and formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Formatting text with Cascading Style Sheet styles . . . . . . . . . . . . . . 382
Using HTML-formatted text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Example: Creating scrolling text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410
About strings and the String class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Chapter 12: Animation, Filters, and Drawings . . . . . . . . . . . . . . 429
Scripting animation with ActionScript 2.0 . . . . . . . . . . . . . . . . . . . . . . 430
About bitmap caching, scrolling, and performance . . . . . . . . . . . . . 440
About the Tween and TransitionManager classes . . . . . . . . . . . . . . .441
Using filter effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Working with filters using ActionScript . . . . . . . . . . . . . . . . . . . . . . . . 463
Manipulating filter effects with code . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Creating bitmaps with the BitmapData class . . . . . . . . . . . . . . . . . . . . 493
About blending modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
About operation order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Drawing with ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Understanding scaling and slice guides . . . . . . . . . . . . . . . . . . . . . . . . .514
Contents 5
Chapter 13: Creating Interaction with ActionScript . . . . . . . . . . 519
About events and interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Controlling SWF file playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Creating interactivity and visual effects . . . . . . . . . . . . . . . . . . . . . . . . 524
Creating runtime data bindings using ActionScript . . . . . . . . . . . . . . .537
Deconstructing a sample script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .546
Chapter 14: Working with Images, Sound, and Video . . . . . . . 549
About loading and working with external media . . . . . . . . . . . . . . . . 550
Loading external SWF and image files. . . . . . . . . . . . . . . . . . . . . . . . . . 551
About loading and using external MP3 files . . . . . . . . . . . . . . . . . . . . 555
Assigning linkage to assets in the library . . . . . . . . . . . . . . . . . . . . . . . 559
About using FLV video. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
About creating progress animations for media files. . . . . . . . . . . . . . 580
Chapter 15: Working with External Data . . . . . . . . . . . . . . . . . . 589
Sending and loading variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Using HTTP to connect to server-side scripts . . . . . . . . . . . . . . . . . . 594
About file uploading and downloading . . . . . . . . . . . . . . . . . . . . . . . . . 600
About XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Sending messages to and from Flash Player . . . . . . . . . . . . . . . . . . . . 617
About the External API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Chapter 16: Understanding Security . . . . . . . . . . . . . . . . . . . . . . 631
About compatibility with previous Flash Player security models . . . 631
About local file security and Flash Player . . . . . . . . . . . . . . . . . . . . . . . .633
Restricting networking APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .648
About domains, cross-domain security, and SWF files . . . . . . . . . . 650
Server-side policy files for permitting access to data . . . . . . . . . . . . .657
HTTP to HTTPS protocol access between SWF files . . . . . . . . . . . .662
Chapter 17: Best Practices and Coding Conventions for
ActionScript 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Naming conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .666
Using comments in your code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
ActionScript coding conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
ActionScript and Flash Player optimization . . . . . . . . . . . . . . . . . . . . 695
Formatting ActionScript syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
6Contents
Appendix A: Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Appendix B: Deprecated Flash 4 operators . . . . . . . . . . . . . . . . 713
Appendix C: Keyboard Keys and Key Code Values . . . . . . . . . . 715
Appendix D: Writing Scripts for Earlier Versions of Flash Player . . 721
About targeting earlier versions of Flash Player . . . . . . . . . . . . . . . . . . 721
Using Flash to create content for Flash Player 4 . . . . . . . . . . . . . . . . 722
Appendix E: Object-Oriented Programming with ActionScript 1.0. 725
About ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
Creating a custom object in ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . 728
Assigning methods to a custom object in ActionScript 1.0. . . . . . . . 729
Defining event handler methods in ActionScript 1.0 . . . . . . . . . . . . . 730
Creating inheritance in ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . 732
Adding getter/setter properties to objects in ActionScript 1.0. . . . . 734
Using Function object properties in ActionScript 1.0 . . . . . . . . . . . . . 735
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .737
Contents 7
8Contents

Introduction

Adobe Flash CS3 Professional is the professional standard authoring tool for producing high­impact web experiences. ActionScript is the language you use to add interactivity to Flash applications, whether your applications are simple animated SWF files or more complex rich Internet applications. You don’t have to use ActionScript to use Flash, but if you want to provide basic or complex user interactivity, work with objects other than those built into Flash (such as buttons and movie clips), or otherwise turn a SWF file into a more robust user experience, you’ll probably want to use ActionScript.
For more information, see the following topics:
Intended audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Updating Flash XML files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
System requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
About the documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Additional resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Intended audience

This manual assumes that you have already installed Flash and know how to use the user interface.You should know how to place objects on the Stage and manipulate them in the Flash authoring environment. If you have used a scripting language before, ActionScript will seem familiar. But if you’re new to programming, ActionScript basics are easy to learn. You can start with simple commands and build more complexity as you progress. You can add a lot of interactivity to your files without having to learn (or write) a lot of code.
9

System requirements

ActionScript 2.0 does not have any system requirements in addition to Flash.
Flash CS3 Professional introduces ActionScript 3.0. Flash Player 9 and ActionScript 3.0 are the default publishing settings for Flash. This manual provides information on how to use ActionScript 2.0 with Flash. You must change the publishing settings for your Flash files to Flash Player 9 and ActionScript 2.0. If you do not change the default settings, explanations and code samples in the documentation might not work correctly. If you develop applications for earlier versions of Flash Player, see Appendix D, “Writing Scripts for Earlier Versions of
Flash Player,” on page 721.

Updating Flash XML files

It is important that you always have the latest Flash XML files installed. Adobe sometimes introduces features in dot releases (minor releases) of Flash Player. When such a release is available, you should update your version of Flash to get the latest XML files. Otherwise, the Flash compiler might generate errors if you use new properties or methods that were unavailable in the version of Flash Player that came with your Flash installation.
For example, Flash Player 7 (7.0.19.0) contained a new method for the System object,
System.security.loadPolicyFile. To access this method, you must use the Player
Updater installer to update all the Flash players that are installed with Flash. Otherwise, the Flash compiler displays errors.
Remember that you can install a Player Updater that is one or more major versions ahead of your version of Flash. By doing this, you will get the XML files that you need but shouldn’t have any compiler errors when you publish to older versions of Flash Player. Sometimes new methods or properties are available to older versions, and having the latest XML files minimizes the compiler errors you get when you try to access older methods or properties.
10 Introduction

About the documentation

This manual provides an overview of ActionScript syntax and information on how to use ActionScript when working with different types of objects. For details on the syntax and usage of every language element, see the ActionScript 2.0 Language Reference.
For more information, see the following topics:
“Learning ActionScript 2.0 book overview” on page 11
“About the sample files” on page 14
“Terms used in this document” on page 13
“Copy and paste code” on page 13

Learning ActionScript 2.0 book overview

The following list summarizes the contents of this manual:
Chapter 1, “What’s New in Flash ActionScript,” describes features that are new in
ActionScript, changes to the compiler and debugger, and the new programming model for the ActionScript 2.0 language.
Chapter 2, “About ActionScript,” outlines what the ActionScript language is and details
how to choose between which version of ActionScript to use.
Chapter 3, “Data and Data Types,” describes the terminology and basic concepts about
data, data types, and variables. You use these concepts throughout the manual.
Chapter 4, “Syntax and Language Fundamentals,” describes the terminology and basic
concepts of the ActionScript language. You use these concepts throughout the manual.
Chapter 5, “Functions and Methods,” describes how to write different kinds of functions
and methods and how to use them in your application.
Chapter 6, “Classes,” describes how to create custom classes and objects in ActionScript.
This chapter also lists the built-in classes in ActionScript and provides a brief overview of how you use them to access powerful features in ActionScript.
Chapter 7, “Inheritance,” describes inheritance in the ActionScript language and describes
how to extend built-in or custom classes.
Chapter 8, “Interfaces,” describes how to create and work with interfaces in ActionScript.
Chapter 9, “Handling Events,” describes a few different ways to handle events: event
handler methods, event listeners, and button and movie clip event handlers.
Chapter 10, “Working with Movie Clips,” describes movie clips and the ActionScript you
can use to control them.
About the documentation 11
Chapter 11, “Working with Text and Strings,” describes the different ways you can
control text and strings in Flash and includes information on text formatting and advanced anti-aliasing.
Chapter 12, “Animation, Filters, and Drawings,” describes how to create code-based
animation and images, add filters to objects, and draw using ActionScript.
Chapter 13, “Creating Interaction with ActionScript,” describes some simple ways in
which you can create more interactive applications, including controlling when SWF files play, creating custom pointers, and creating sound controls.
Chapter 14, “Working with Images, Sound, and Video,” describes how to import external
media files, such as bitmap images, MP3 files, Flash Video (FLV) files, and other SWF files, in your Flash applications. This chapter also provides an overview of how to work with video in your applications, and how to create progress bar loading animations.
Chapter 15, “Working with External Data,” describes how to process data from external
sources using server- or client-side scripts in your applications. This chapter describes how to integrate data with your applications.
Chapter 16, “Understanding Security,” explains security in Flash Player, as it pertains to
working with SWF files locally on your hard disk. This chapter also explains cross-domain security issues, and how to load data from servers, or across domains.
Chapter 17, “Best Practices and Coding Conventions for ActionScript 2.0,” explains the
best practices for using Flash and writing ActionScript. This chapter also lists standardized coding conventions, such as naming variables, and other conventions.
Appendix A, “Error Messages,” lists the error messages that the Flash compiler can
generate.
Appendix B, “Deprecated Flash 4 operators,” lists all the deprecated Flash 4 operators and
their associativity.
Appendix C, “Keyboard Keys and Key Code Values,” lists all the keys on a standard
keyboard and the corresponding ASCII key code values that are used to identify the keys in ActionScript.
Appendix D, “Writing Scripts for Earlier Versions of Flash Player,” provides guidelines to
help you write scripts that are syntactically correct for the player version you are targeting.
Appendix E, “Object-Oriented Programming with ActionScript 1.0,” provides
information on using the ActionScript 1.0 object model to write scripts.
This manual explains how to use the ActionScript language. For information on the language elements themselves, see the ActionScript 2.0 Language Reference.
12 Introduction

Typographical conventions

This manual uses the following typographical conventions:
Code font indicates ActionScript code.
Bold code font, typically within a procedure, indicates code that you need to modify or
add to code you have already added to your FLA file. In some case, it might be used to highlight code to look at.
Boldface text indicates data you need to type into the user interface, such as a filename or
instance name.
Italic text indicates a new term defined in the text that follows. In a file path, it might
indicate a value that should be replaced (for example, with a directory name on your own hard disk).

Terms used in this document

The following terms are used in this manual:
You refers to the developer who is writing a script or application.
The user refers to the person who is running your scripts and applications.
Compile time is the time at which you publish, export, test, or debug your document.
Runtime is the time at which your script is running in Flash Player.

Copy and paste code

When you paste ActionScript from the Help panel into your FLA or ActionScript file, you have to be careful about special characters. Special characters include special quotation marks (also called curly quotation marks or smart quotation marks). These characters are not interpreted by the ActionScript editor, so your code throws an error if you try to compile it in Flash.
You can determine that your quotation mark characters are special characters if they do not color-code correctly. That is, if all your strings do not change in color in the code editor, you need to replace the special characters with regular straight quotation mark characters. If you type a single or double quotation mark character directly into the ActionScript editor, you always type a straight quotation mark character. The compiler (when you test or publish a SWF file) throws an error and lets you know if there are the wrong kind (special quotation marks or curly quotation marks) of characters in your code.
NOTE
You might also encounter special quotation marks if you paste ActionScript from other locations, such as a web page or a Microsoft Word document.
About the documentation 13
Be cautious of proper line breaks when you copy and paste code. If you paste your code from some locations, the line of code might break in an improper location. Make sure that the color coding of your syntax is correct in the ActionScript editor if you think line breaks might be a problem. You might want to compare your code in the Actions panel to that in the Help panel to see if it matches. Try turning on Word Wrap in the ActionScript editor to help solve surplus line breaks in your code (select View > Word Wrap in the Script window, or Word Wrap from the Actions panel pop-up menu.)

Additional resources

In addition to this manual about ActionScript, there are manuals on other Flash topics, such as components and Adobe Flash Lite. You can access each manual in the Help panel (Help > Flash Help), by viewing the default Table of Contents. Click the Clear button to see each manual that’s available; for more information, see “Where to find documentation on other
subjects” on page 17.
For more information about other available resources, see the following topics:
“About the sample files” on page 14
“Where to find PDF files or printed documentation” on page 15
“About LiveDocs” on page 15
“Additional online resources” on page 16
“Where to find documentation on other subjects” on page 17

About the sample files

There are numerous ActionScript-based sample files available that install with Flash. These sample files show you how code works in a FLA file; this is often a useful learning tool. The chapters in this manual often reference these files, but we recommend that you also check out the sample files folder on your hard disk.
The sample files include application FLA files that use common Flash functionality installed with Flash. These applications were designed to introduce new Flash developers to the capabilities of Flash applications, as well as show advanced developers how Flash features work in context.
14 Introduction
For samples of ActionScript-focused sample source files, see the Flash Samples page at
www.adobe.com/go/learn_fl_samples. Download and decompress the Samples zip file and
navigate to the ActionScript2.0 folder to access the samples. For components-focused sample files, navigate to the ComponentsAS2 folder.

Where to find PDF files or printed documentation

If you prefer to read documentation in printed format, the PDF versions of each Help manual are available for downloading. Go to www.adobe.com/support/documentation/ and select the product you’re interested in. You can view or download the PDF or link to the LiveDocs version of the manual.
Often, you can also purchase printed documentation. For updated information, go to the
Documentation support site.

About LiveDocs

You can access documentation at the LiveDocs website, in addition to accessing it from the Help panel. The LiveDocs website contains all of the Flash Help pages and might contain comments that clarify, update, or correct parts of the documentation. Click View Comments on LiveDocs at the bottom of a page in the Help panel to display the equivalent page on the LiveDocs website. Go to http://livedocs.macromedia.com to see a list of all of the available documentation in the LiveDocs format.
Technical writers monitor the LiveDocs website. One of the advantages of LiveDocs is seeing comments that clarify the documentation or correct any errata or issues that arise after a software release. LiveDocs is not the place to make help requests, such as asking questions about your code that doesn’t work, comment on problems with software or installation, or ask how to create something with Flash. It is the correct place to provide feedback about the documentation (for example, you notice a sentence or paragraph that could be clarified).
When you click the button to add a comment on LiveDocs, there are several points about the kinds of comments that are acceptable on the system. Please read these guidelines closely, or your comment might be removed from the website.
If you have a question about Flash, please ask it on the Adobe web forums: www.adobe.com/
support/forums/. The web forums are the best place to ask questions, because there are many
Adobe employees, Team Adobe volunteers, Adobe user group managers and members, and even technical writers who monitor these forums.
Additional resources 15
Engineers do not monitor the LiveDocs system but do monitor the Flash wish list. If you think you have found a bug in the software, or you would like to request an enhancement to Flash, please fill out the wishform at www.adobe.com/go/wish. If you report your bug or enhancement request on LiveDocs, it will not be officially added to the bug database. You must use the wishform instead, if you want an engineer to see your bug or request.
Remember to be careful about special characters and line breaks when you paste from the web, including LiveDocs. Adobe has made every effort to remove all special characters from code samples, but if you have problems pasting code, see “Copy and paste code” on page 13.

Additional online resources

There are several resources online that offer a wealth of instruction, help, and guidance to help you learn Flash. Check the following websites often for updates:
The Adobe Developer Center website (www.adobe.com/devnet) is updated regularly with
the latest information on Flash, plus advice from expert users, advanced topics, examples, tips, tutorials (including multipart tutorials), and other updates. Check the website often for the latest news on Flash and how to get the most out of the program.
The Adobe Flash Support Center (www.adobe.com/support/flash) provides TechNotes,
documentation updates, and links to additional resources in the Flash community.
The Adobe Weblogs website (http://weblogs.macromedia.com) provides a list of both
Adobe employee and community weblogs (also known as blogs).
The Adobe web forums (http://www.adobe.com/support/forums/) provides numerous
forums for asking specific questions about Flash, your applications, or the ActionScript language. The forums are monitored by Team Adobe volunteers and often visited by Adobe employees as well. If you’re not sure where to go, or how to solve a problem, a Flash forum is a good place to start.
The Adobe Community website (www.adobe.com/community) regularly hosts a series of live
presentations on a variety of topics by Adobe employees or community members. Check the website often for updates.
16 Introduction

Where to find documentation on other subjects

The following manuals offer additional information on subjects commonly associated with ActionScript 2.0:
For information about the elements that compose the ActionScript language, see the
ActionScript 2.0 Language Reference.
For information about working in the Flash authoring environment, see How to Use Help.
For information about working with components, see Using ActionScript 2.0 Components.
Additional resources 17
18 Introduction
CHAPTER 1

What’s New in Flash ActionScript

Adobe Flash CS3 Professional provides several enhancements that make it easy for you to write robust scripts using the ActionScript language. The new features, which are discussed in this chapter, include new language elements (see “Additions to the ActionScript language in
Flash Player 8” on page 22), improved editing tools (see “ActionScript editing changes” on page 27), changes to the security model, and other ActionScript-related improvements to
the authoring tool.
For more information, see the following topics:
New in ActionScript 2.0 and Flash Player 9.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
New in ActionScript 2.0 and Flash Player 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Changes to security model for locally installed SWF files. . . . . . . . . . . . . . . . . . . . . . 28
New in ActionScript 2.0 and Flash Player
9.x
1
Flash Player 9.x allows a user to switch the Flash Player into and out of fullscreen mode. The following items support this new feature:
Stage.displayState property
Stage.onFullScreen event handler
allowFullScreen parameter in the object and embed HTML tags
For more information, see ActionScript 2.0 Language Reference.
Flash Player 9.x also introduces a new FileReference event, event can be invoked after a server receives a successful upload. For more information on this new item, see ActionScript 2.0 Language Reference.
onUploadCompleteData. This
19

New in ActionScript 2.0 and Flash Player 8

The ActionScript language has grown and developed since its introduction several years ago. With each new release of Flash, additional keywords, objects, methods, and other language elements were added to ActionScript. There are also ActionScript-related improvements to the Flash 8 authoring environments. Flash Basic 8 and Flash Professional 8 introduced several new language elements for expressive features, such as filters and blending modes, and application development, such as JavaScript integration (ExternalInterface) and file input and output (FileReference and FileReferenceList).
This section provides an overview of the ActionScript language elements and classes that are new or changed in Flash 8 and ActionScript-related improvements to the authoring tool. For a list of specific additions to ActionScript 2.0, see “Additions to the ActionScript language in
Flash Player 8” on page 22. To use any of the new language elements in your scripts, you must
target Flash Player 8 when you publish your documents.
The following features were added to both Flash Basic 8 and Flash Professional 8 (unless noted otherwise):
ActionScript editor enhancements let you show hidden characters in your scripts. For
more information, see “Display hidden characters” in Using Flash.
Debug options are now available in the Script window, as well as the Actions panel, for
ActionScript files.
The Configuration directory that includes XML files and Class files is reorganized. See
“Configuration folders installed with Flash” in Using Flash for details.
You can set a preference to reload modified script files when working on an application,
which helps you avoid working with older versions of script files, and overwriting newer script files. For more information, see “Set ActionScript preferences” in Using Flash.
The Script window feature is available in Flash. That means you can now create an
ActionScript file in either program.
Script Assist (similar to Normal Mode in earlier editions of Flash) helps you code without
needing to understand syntax. For more information on Script Assist, see “About Script Assist mode” in Using Flash.
You can load new kinds of image files at runtime, which include progressive JPEG images,
and non-animated GIF and PNG files. If you load an animated file, the first frame of the animation appears.
You can assign linkage identifiers to bitmap and sound files stored in the Library, which
means that you can attach images to the Stage or work with these assets in shared libraries.
20 What’s New in Flash ActionScript
Bitmap caching lets you improve the performance of your applications at runtime by
caching a bitmap representation of your instances. You can use ActionScript code to access this property. For more information, see “About bitmap caching, scrolling, and
performance” on page 440.
9-slice scaling lets you scale movie clip instances without widening the strokes that outline
the movie clip. You can use ActionScript code to access this feature in Flash. For more information, see “Working with 9-slice scaling in ActionScript” on page 516. For information about accessing 9-slice scaling in the authoring tool, see Using Flash.
You can now add metadata information to your FLA files in the Document Properties
dialog box. You can add a name and description to your FLA file using the dialog box to help increase online search visibility.
The Strings panel is improved to include multiline support in the String field and a
language XML file. For more information, see “panel” on page 413.
A new garbage collector is built into Flash Player, which uses an incremental collector to
improve performance.
The workflow for creating accessible applications is improved. Flash Player 8 no longer
requires developers to add all objects to the tab index for content to be read correctly by a screen reader. For more information on tab index, see
property)
(TextField.tabIndex property)
Flash Player has improved local file security, for additional safety when running SWF files
, tabIndex (MovieClip.tabIndex property), and tabIndex
in the ActionScript 2.0 Language Reference.
tabIndex (Button.tabIndex
on your hard disk. For information on local file security, see “About local file security and
Flash Player” on page 633.
Using ActionScript code, you can use the Drawing API to control the line style of strokes
that you draw. For information on new line styles, see “Using line styles” on page 506.
Using ActionScript code, you can use the Drawing API to create more complex gradients
that you fill shapes with. For information on gradient fills, see “Using complex gradient
fills” on page 505.
You can use ActionScript code to apply many filters to objects on the Stage (such as movie
clip instances). For information on filters and ActionScript, see “Working with filters
using ActionScript” on page 463.
You can use the FileReference and FileReferenceList API to upload files to a server. For
more information, see “About file uploading and downloading” on page 600.
You can use ActionScript code to access new and advanced ways of applying and
manipulating colors. For more information, see “Setting color values” on page 530 and
ColorTransform (flash.geom.ColorTransform) in the ActionScript 2.0 Language
Reference.
New in ActionScript 2.0 and Flash Player 8 21
Numerous improvements are made to text handling, including new options, properties,
and parameters in the TextField and TextFormat classes. For more information, see
TextField and TextFormat in the ActionScript 2.0 Language Reference.
You can use ActionScript code to access advanced anti-aliasing features. For more
information, see “About font rendering and anti-alias text” on page 367.
You can delete ASO files when you test your application. Select Control > Delete ASO
files or Control > Delete ASO files and Test Movie in the authoring tool. For information, see “Using ASO files” on page 242.
For a list of specific classes, language elements, methods, and properties added to ActionScript
2.0 in Flash 8, see “Set ActionScript preferences” in Using Flash.

Additions to the ActionScript language in Flash Player 8

The following classes and language elements are new additions or newly supported in Flash Player 8.
The following classes were added to ActionScript 2.0 in Flash 8:
The BevelFilter class (in flash.filters package) lets you add bevel effects to objects.
The BitmapData class (in flash.display package) lets you create and manipulate arbitrarily
sized transparent or opaque bitmap images.
The BitmapFilter class (in flash.display package) is a base class for filter effects.
The BlurFilter class lets you apply blurs to objects in Flash.
The ColorMatrixFilter class (in flash.filters package) lets you apply transformations to
ARGB colors and alpha values.
The ColorTransform class (in the flash.geom package) lets you adjust color values in
movie clips. The Color class is deprecated in favor of this class.
The ConvolutionFilter class (in the flash.filters package) lets you apply matrix
convolution filter effects.
The DisplacementMapFilter class (in the flash.filters package) lets you use pixel values
from a BitmapData object to perform displacement on an object.
The DropShadowFilter class (in the flash.filters package) lets you add drop shadows
to objects.
The ExternalInterface class (in the flash.external package) lets you communicate by using
ActionScript with the Flash Player container (the system holding the Flash application, such as a browser with JavaScript, or the desktop application).
22 What’s New in Flash ActionScript
The FileReference class (in the flash.net package) lets you upload and download files
between the user’s computer and a server.
The FileReferenceList class (in the flash.net package) lets you select one or more files
to upload.
The GlowFilter class (in the flash.filters package) lets you add glow effects to objects.
The GradientBevelFilter class (in the flash.filters package) lets you add gradient bevels
to objects.
TheGradientGlowFilter class (in the flash.filters package) lets you add gradient glow
effects to objects.
The IME class (in the System class) lets you manipulate the operating system’s input
method editor (IME) within Flash Player.
The Locale class (in the mx.lang package) lets you control how multilanguage text appears
in a SWF file.
The Matrix class (in the flash.geom package) represents a transformation matrix that
determines how to map points from one coordinate space to another.
The Point class (in the flash.geom package) represents a location in a two-dimensional
coordinate system (x represents the horizontal axis, and y represents the vertical axis).
The Rectangle class (in the flash.geom package) lets you create and modify Rectangle
objects.
The TextRenderer class (in the flash.text package) provides functionality for advanced
anti-aliased embedded fonts.
The Transform class (in the flash.geom package) collects data about color transformations
and coordinates manipulations that you apply to a MovieClip instance.
NOTE
Official support is added for the AsBroadcaster class in Flash 8.
New language elements, methods, and functions added to existing classes in ActionScript include:
The showRedrawRegions global function provides the ability for the debugger player to
outline the regions of the screen that are being redrawn (that is, dirty regions that are being updated). The function has the player show what was redrawn, but does not let you control redraw regions.
The blendMode property in the Button class, which sets the blending mode for the
button instance.
The cacheAsBitmap property in the Button class, which lets you cache the object as an
internal bitmap representation of the instance.
New in ActionScript 2.0 and Flash Player 8 23
The filters property in the Button class, which is an indexed array that contains each
filter object associated with the button.
The scale9Grid property in the Button class, which is the rectangular region that defines
nine scaling regions for the instance.
The hasIME property in the System.capabilities class, which indicates if the system has an
IME installed.
The getUTCYear property in the Date class, which returns the year of this date, according
to universal time.
The isAccessible() method in the Key class returns a Boolean value that indicates
whether the last key pressed may be accessed by other SWF files, depending on security restrictions.
The onHTTPStatus event handler of the LoadVars class returns the status code that’s
returned from the server (for example, the value 404 for page not found). For more information, see
HTTPStatus (LoadVars.onHTTPStatus handler) in the ActionScript
2.0 Language Reference.
The attachBitmap() method of the MovieClip class, which attaches a bitmap image to a
movie clip. For information, see
BitmapData (flash.display.BitmapData) in the
ActionScript 2.0 Language Reference.
The beginBitmapFill() method of the MovieClip class, which fills a movie clip with a
bitmap image.
The spreadMethod, interpolationMethod, and focalPointRatio parameters of the
beginGradientFill() method in the MovieClip class. This method fills a drawing area
with a bitmap image, and the bitmap can be repeated or tiled to fill the area.
The blendMode property of the MovieClip class, which lets you set the blending mode for
the instance.
The cacheAsBitmap property of the MovieClip class, which lets you cache the object as
an internal bitmap representation of the instance.
The filters property of the MovieClip class, which is an indexed array that contains
each filter object that’s currently associated with the instance.
The getRect() method of the MovieClip class, which returns properties that are the
minimum and maximum coordinate values of the specified instance.
The lineGradientStyle() method of the MovieClip class, which specifies a gradient
line style that Flash uses when drawing a path.
The pixelHinting, noScale, capsStyle, jointStyle, and miterLimit parameters of
the
lineStyle() method in the MovieClip class. These parameters specify kinds of line
styles you can use when drawing lines.
24 What’s New in Flash ActionScript
The opaqueBackground property of the MovieClip class, which sets the color of the
movie clip’s opaque (not transparent) background to the color that the RGB hexadecimal value specifies.
The scale9Grid property of the MovieClip class, which is the rectangular region that
defines nine scaling regions for the instance.
The scrollRect property of the MovieClip class, which lets you quickly scroll movie clip
content and have a window viewing larger content.
The transform property of the MovieClip class, which lets you make settings regarding a
movie clip’s matrix, color transform, and pixel bounds. For more information, see
Transform (flash.geom.Transform) in ActionScript 2.0 Language Reference.
The status parameter of the MovieClipLoader.onLoadComplete event handler returns
the status code that’s returned from the server (for example, the value 404 for page not found). For more information, see
event listener)
The onLoadError event handler of the MovieClipLoader class is invoked when a file
loaded with
The secure parameter of the SharedObject.getLocal() method determines whether
in ActionScript 2.0 Language Reference.
MovieClipLoader.loadClip() fails to load.
onLoadComplete (MovieClipLoader.onComplete
access to this shared object is restricted to SWF files delivered over an HTTPS connection. For more information, see
getLocal (SharedObject.getlocal method) in
ActionScript 2.0 Language Reference.
The sandboxType property of the System.security class indicates the type of security
sandbox in which the calling SWF file is operating. For more information, see
sandboxType (security.sandboxType property) in ActionScript 2.0 Language
Reference.
The antiAliasType property in the TextField class, which sets the type of advanced anti-
aliasing that you use for the TextField instance.
The filters property in the TextField class, which is an indexed array that contains each
filter object that’s currently associated with the TextField instance.
The gridFitType property in the TextField class, which sets the type of grid fitting that
you use for the instance. For information on grid fitting and TextField.gridFitType, see
gridFitType (TextField.gridFitType property) in ActionScript 2.0 Language
Reference.
The sharpness property in the TextField class, which sets the sharpness of the glyph
edges for the TextField instance. You must set the
antiAliasType() method to advanced
if you use this property.
New in ActionScript 2.0 and Flash Player 8 25
The thickness property in the TextField class, which sets the thickness of the glyph edges
in the TextField instance. You must set the
antiAliasType() method to advanced if you
use this property.
The justify value for the align property of the TextFormat class, which lets you justify
a specified paragraph.
The indent property of the TextFormat class, which lets you use negative values.
The kerning property in the TextFormat class, which lets you turn kerning on or off for
the TextFormat object.
The leading property of the TextFormat class, which lets you use negative leading, so the
space between lines is less than the text height. This lets you put lines of text close together in your applications.
The letterSpacing property in the TextFormat class, which lets you specify the amount
of space that is uniformly distributed between characters.
The _alpha property in the Video class, which is the specified amount of transparency for
the video object.
The _height property in the Video class, which indicates the height of the video instance.
The _name property in the Video class, which indicates the instance name of the video.
The _parent property in the Video class, which indicates the movie clip instance or
object that contains the video instance.
The _rotation property in the Video class, which lets you set the amount of rotation of
the video instance in degrees.
The _visible property in the Video class, which lets you set the visibility of a
video instance.
The _width property in the Video class, which lets you set the width of the
video instance.
The _x property in the Video class, which lets you set the x coordinate of the
video instance.
The _xmouse property in the Video class, which lets you set the x coordinate of the mouse
pointer position.
The _xscale property in the Video class, which lets you set the horizontal scale
percentage of the video instance.
The _y property in the Video class, which lets you set the y coordinate of the
video instance.
The _ymouse property in the Video class, which lets you set the y coordinate of the mouse
pointer position.
26 What’s New in Flash ActionScript
The _yscale property in the Video class, which lets you set the vertical scale percentage
of the video instance.
The onHTTPStatus event handler in the XML class returns the status code that’s returned
from the server (for example, the value 404 for page not found). For more information, see
onHTTPStatus (XML.onHTTPStatus handler) in ActionScript 2.0 Language
Reference.
The localName property of the XMLNode class, which returns the full name of the XML
node object (including both the prefix and the local name).
The namespaceURI property of the XMLNode class, which reads the URI of the
namespace to which the XML node’s prefix resolves. For more information, see
namespaceURI (XMLNode.namespaceURI property) in ActionScript 2.0 Language
Reference.
The prefix property of the XMLNode class, which reads the prefix of the node name.
The getNamespaceForPrefix() method of the XMLNode class, which returns the
namespace URI associated with the specified prefix for the node.
The getPrefixForNamespace method of the XMLNode class, which returns the prefix
associated with a specified namespace URI for the node.

About deprecated language elements

Some language elements are deprecated in Flash Player 8. For a list of deprecated language elements, and alternatives to use in Flash Player 8, see the following sections in ActionScript
2.0 Language Reference:
Deprecated Class summary
Deprecated Function summary
Deprecated Property summary
Deprecated Operator summary

ActionScript editing changes

The ActionScript editor in the Actions panel and Script window has been updated in several ways to make it more robust and easier to use than earlier versions of the tool. The changes are summarized in this section.
View hidden characters You can now use the Options pop-up menu in the Script pane,
Debugger panel, and Output panel to view or hide hidden characters when you’re writing script files in the Actions panel or Script window. For information on this feature, see Using Flash.
New in ActionScript 2.0 and Flash Player 8 27
Script assist added to Actions panel In previous versions of Flash, you could work in the
Actions panel either in normal mode, in which you filled in options and parameters to create code, or in expert mode, in which you added commands directly into the Script pane. These options were not available in Flash MX 2004 or Flash MX Professional 2004. However, in Flash Basic 8 and Flash Professional 8, you can work in Script Assist mode, which is similar to (and more robust than) normal mode. For information and a tutorial on Script Assist, see Using Flash.
Reload modified files You can reload modified script files when working on an application.
A warning message appears, prompting you to reload the modified script files associated with the application you’re working on. This feature is particularly beneficial to teams working on applications at the same time, in that it helps you avoid working with outdated scripts, or overwriting newer versions of a script. If a script file was moved or deleted, a warning message appears and prompts you to save the files as necessary. For more information, see “Set ActionScript preferences” in Using Flash.

Changes to security model for locally installed SWF files

Flash Player 9.x introduces support for a new HTML tag, allowNetworking. For more information, see the Security chapter in Programming ActionScript 3.0.
Flash Player 8 introduced a new, improved security model in which Flash applications and SWF files on a local computer can communicate with the Internet and the local file system, rather than run from a remote web server. When you develop a Flash application, you must indicate whether a SWF file is allowed to communicate with a network or with a local file system.
NOTE
In this description, a local SWF file is a SWF file that is locally installed on a user’s computer, not served from a website, and does not include projector (EXE) files.
In previous versions of Flash Player, local SWF files could interact with other SWF files and load data from any remote or local computer without configuring security settings. In Flash Player 8 and later, a SWF file cannot make connections to the local file system and the network (such as the Internet) in the same application without making a security setting. This is for your safety, so a SWF file cannot read files on your hard disk and then send the contents of those files across the Internet.
28 What’s New in Flash ActionScript
This security restriction affects all locally deployed content, whether it’s legacy content (a FLA file created in an earlier version of Flash) or created in Flash 8 and later. Using the Flash MX 2004 or earlier authoring tool, you could test a Flash application that runs locally and also accesses the Internet. In Flash Player 8 and later, this application now prompts the user for permission to communicate with the Internet.
When you test a file on your hard disk, there are several steps to determine whether the file is a local trusted (safe) document or a potentially untrusted (unsafe) document. If you create the file in the Flash authoring environment (for example, when you select Control > Test Movie), your file is trusted because it is in the test environment.
In Flash Player 7 and earlier, local SWF files had permissions to access both the local file system and the network. In Flash Player 8 and later, local SWF files can have three levels of permission:
Access the local file system only (the default level). The local SWF file can read from the
local file system and universal naming convention (UNC) network paths and cannot communicate with the Internet.
Access the network only. The local SWF file can access the network only (such as the
Internet) and not the local file system where the SWF file is installed.
Access to both the local file system and the network. The local SWF file can read from the
local file system where the file is installed, read from and write to any server that grants it permission, and can cross-script other SWF files on either the network or the local file system that grant it permission.
For more details about each level of permission, see “About local file security and Flash Player”
on page 633.
There are also minor changes to System.security.allowDomain and improvements to System.security.allowInsecureDomain. For more information on local file security, see
Chapter 16, “Understanding Security.”
Changes to security model for locally installed SWF files 29
30 What’s New in Flash ActionScript
Loading...
+ 724 hidden pages