Free PDF Download: Adobe Flash ActionScript 3.0 Programming

This manual provides a foundation for developing applications in Adobe® ActionScript® 3.0. To best understand the ideas and techniques described, you should already be familiar with general programming concepts such as data types, variables, loops, and functions. You should also understand basic object-oriented programming concepts such as classes and inheritance. Prior knowledge of ActionScript 1.0 or ActionScript 2.0 is helpful but not necessary.

-chapter 1

Here is a free download of a programming manual for Flash AS3 from Adobe.


  E-Book: Flash AS3 Programming (unknown, 483 hits)

A “rough” list of this e-book’s contents:


Chapter 1: About this manual

Using this manual . . . . . . . . . 1

Accessing ActionScript documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

ActionScript learning resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Chapter 2: Introduction to ActionScript 3.0

About ActionScript . . . . . . . . 4

Advantages of ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

What’s new in ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Compatibility with previous versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Chapter 3: Getting started with ActionScript

Programming fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Working with objects . . . . . 11

Common program elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Example: Animation portfolio piece . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Building applications with ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Creating your own classes 26

Example: Creating a basic application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Running subsequent examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Chapter 4: ActionScript language and syntax

Language overview . . . . . . 37

Objects and classes . . . . . . . 38

Packages and namespaces 38

Variables . . . . . . . . . . . . . . . . . 48

Data types . . . . . . . . . . . . . . . 51

Syntax . . . . . . . . . . . . . . . . . . . 63

Operators . . . . . . . . . . . . . . . . 67

Conditionals . . . . . . . . . . . . . 73

Looping . . . . . . . . . . . . . . . . . . 75

Functions . . . . . . . . . . . . . . . . 78

Chapter 5: Object-oriented programming in ActionScript

Basics of object-oriented programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Classes . . . . . . . . . . . . . . . . . . . 91

Interfaces . . . . . . . . . . . . . . . 105

Inheritance . . . . . . . . . . . . . . 107

Advanced topics . . . . . . . . 115

Example: GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Chapter 6: Working with dates and times

Basics of dates and times 130

Managing calendar dates and times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH iv

Contents

Controlling time intervals 133

Example: Simple analog clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Chapter 7: Working with strings

Basics of strings . . . . . . . . . 139

Creating strings . . . . . . . . . 140

The length property . . . . . 141

Working with characters in strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Comparing strings . . . . . . . 142

Obtaining string representations of other objects . . . . . . . . . . . . . . . . . . . . . . 143

Concatenating strings . . . 143

Finding substrings and patterns in strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Converting strings between uppercase and lowercase . . . . . . . . . . . . . . . . . . 147

Example: ASCII art . . . . . . . 148

Chapter 8: Working with arrays

Basics of arrays . . . . . . . . . . 153

Indexed arrays . . . . . . . . . . 155

Associative arrays . . . . . . . 165

Multidimensional arrays . 168

Cloning arrays . . . . . . . . . . . 169

Advanced topics . . . . . . . . 170

Example: PlayList . . . . . . . . 175

Chapter 9: Handling errors

Basics of error handling . . 179

Types of errors . . . . . . . . . . 181

Error handling in ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Working with the debugger versions of Flash Player and AIR . . . . . . . . . . . . 184

Handling synchronous errors in an application . . . . . . . . . . . . . . . . . . . . . . . . . 185

Creating custom error classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Responding to error events and status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

Comparing the Error classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

Example: CustomErrors application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Chapter 10: Using regular expressions

Basics of regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Regular expression syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Methods for using regular expressions with strings . . . . . . . . . . . . . . . . . . . . . 217

Example: A Wiki parser . . 218

Chapter 11: Working with XML

Basics of XML . . . . . . . . . . . . 223

The E4X approach to XML processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

XML objects . . . . . . . . . . . . . 228

XMLList objects . . . . . . . . . 230

Initializing XML variables 231

Assembling and transforming XML objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH v

Contents

Traversing XML structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

Using XML namespaces . 238

XML type conversion . . . . 239

Reading external XML documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

Example: Loading RSS data from the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Chapter 12: Handling events

Basics of handling events 244

How ActionScript 3.0 event handling differs from earlier versions . . . . . . . 246

The event flow . . . . . . . . . . 248

Event objects . . . . . . . . . . . . 250

Event listeners . . . . . . . . . . . 254

Example: Alarm Clock . . . . 260

Chapter 13: Display programming

Basics of display programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

Core display classes . . . . . 270

Advantages of the display list approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Working with display objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Manipulating display objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Animating objects . . . . . . . 303

Loading display content dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Example: SpriteArranger . 307

Chapter 14: Using the drawing API

Basics of using the drawing API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Understanding the Graphics class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Drawing lines and curves 316

Drawing shapes using built-in methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Creating gradient lines and fills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Using the Math class with drawing methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

Animating with the drawing API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Example: Algorithmic Visual Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Advanced use of the drawing API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Drawing Paths . . . . . . . . . . 327

Defining winding rules . . 329

Using graphics data classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

About using drawTriangles() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

Chapter 15: Working with geometry

Basics of geometry . . . . . . 334

Using Point objects . . . . . . 336

Using Rectangle objects . 337

Using Matrix objects . . . . . 340

Example: Applying a matrix transformation to a display object . . . . . . . . . . 342

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH vi

Contents

Chapter 16: Filtering display objects

Basics of filtering display objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Creating and applying filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Available display filters . . 353

Example: Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

Chapter 17: Working with Pixel Bender shaders

Basics of Pixel Bender shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

Loading or embedding a shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Accessing shader metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

Specifying shader input and parameter values . . . . . . . . . . . . . . . . . . . . . . . . . 380

Using a shader . . . . . . . . . . 386

Chapter 18: Working with movie clips

Basics of movie clips . . . . . 398

Working with MovieClip objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Controlling movie clip playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Creating MovieClip objects with ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . 402

Loading an external SWF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

Example: RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Chapter 19: Working with motion tweens

Basics of Motion Tweens . 410

Copying motion tween scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

Incorporating motion tween scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412

Describing the animation 412

Adding filters . . . . . . . . . . . . 415

Associating a motion tween with its display objects . . . . . . . . . . . . . . . . . . . . 416

Chapter 20: Working with inverse kinematics

Basics of Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

Animating IK Armatures Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

Getting information about an IK armature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

Instantiating an IK Mover and Limiting Its Movement . . . . . . . . . . . . . . . . . . . 421

Moving an IK Armature . . 422

Using IK Events . . . . . . . . . . 422

Chapter 21: Working with text

Basics of working with text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

Using the TextField class . 426

Using the Flash Text Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

Chapter 22: Working with bitmaps

Basics of working with bitmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

The Bitmap and BitmapData classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

Manipulating pixels . . . . . 478

Copying bitmap data . . . . 480

Making textures with noise functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH vii

Contents

Scro lling bitmaps . . . . . . . . 483

Taking advantage of mipmapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484

Example: Animated spinning moon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484

Chapter 23: Working in three dimensions (3D)

Basics of 3D . . . . . . . . . . . . . 495

Understanding the 3D features of Flash Player and the AIR runtime . . . . . 496

Creating and moving 3D objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

Projecting 3D objects onto a 2D view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500

Example: Perspective projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

Performing complex 3D transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504

Using triangles for 3D effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

Chapter 24: Working with video

Basics of video . . . . . . . . . . 515

Understanding video formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

Understanding the Video class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

Loading video files . . . . . . 520

Controlling video playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520

Playing video in full-screen mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522

Streaming video files . . . . 526

Understanding cue points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526

Writing callback methods for metadata and cue points . . . . . . . . . . . . . . . . . 527

Using cue points and metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Capturing camera input . 541

Sending video to a server 547

Advanced topics for FLV files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547

Example: Video Jukebox . 548

Chapter 25: Working with sound

Basics of working with sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

Understanding the sound architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

Loading external sound files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

Working with embedded sounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

Working with streaming sound files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

Working with dynamically generated audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561

Playing sounds . . . . . . . . . . 563

Security considerations when loading and playing sounds . . . . . . . . . . . . . . 566

Controlling sound volume and panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566

Working with sound metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

Accessing raw sound data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

Capturing sound input . . 573

Example: Podcast Player . 576

Chapter 26: Capturing user input

Basics of user input . . . . . . 584

Capturing keyboard input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH viii

Contents

Capturi ng mouse input . . 587

Example: WordSearch . . . 591

Chapter 27: Networking and communication

Basics of networking and communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

Working with external data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598

Connecting to other Flash Player and AIR instances . . . . . . . . . . . . . . . . . . . . . 603

Socket connections . . . . . . 608

Storing local data . . . . . . . . 612

Working with data files . . 614

Example: Building a Telnet client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

Example: Uploading and downloading files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631

Chapter 28: Client system environment

Basics of the client system environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

Using the System class . . . 639

Using the Capabilities class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640

Using the ApplicationDomain class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640

Using the IME class . . . . . . 643

Example: Detecting system capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

Chapter 29: Copy and paste

Copy-and-paste basics . . . 652

Reading from and writing to the system clipboard . . . . . . . . . . . . . . . . . . . . . . 652

Clipboard data formats . . 653

Chapter 30: Printing

Basics of printing . . . . . . . . 657

Printing a page . . . . . . . . . . 658

Flash Player and AIR tasks and system printing . . . . . . . . . . . . . . . . . . . . . . . . . 659

Setting size, scale, and orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661

Example: Multiple-page printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663

Example: Scaling, cropping, and responding . . . . . . . . . . . . . . . . . . . . . . . . . . . 665

Chapter 31: Using the external API

Basics of using the external API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667

External API requirements and advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669

Using the ExternalInterface class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670

Example: Using the external API with a web page container . . . . . . . . . . . . . 674

Example: Using the external API with an ActiveX container . . . . . . . . . . . . . 679

Chapter 32: Flash Player security

Flash Player security overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

Security sandboxes . . . . . . 686

Permission controls . . . . . 688

Restricting networking APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695

Full-screen mode security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697

Loading content . . . . . . . . 698

PROGRAMMING ACTIONSCR IPT 3.0 FOR FLASH ix

Contents

Cross-scripting . . . . . . . . . . 701

Accessing loaded media as data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703

Loading data . . . . . . . . . . . . 705

Loading embedded content from SWF files imported into a security domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708

Working with legacy content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708

Setting LocalConnection permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709

Controlling outbound URL access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709

Shared objects . . . . . . . . . . 711

Camera, microphone, clipboard, mouse, and keyboard access . . . . . . . . . . 712

Index . . . . . . . . . . . . . . . . . . . 713

Related Posts:

Posts that may be related to "Free PDF Download: Adobe Flash ActionScript 3.0 Programming":

Catzie

A Filipino programmer with a variety of interests such as baking, singing, making up silly song/rap lyrics, K-pop, drawing, creating unique dessert flavors, obsessing about finding out how some things works, board games, anime, video games, and forgetting things that usually go in her long list of interests. Running small-time online dessert shops Cookies PH and Catzie's Cakery.

One comment on “Free PDF Download: Adobe Flash ActionScript 3.0 Programming

 

Leave a Reply

Your email address will not be published. Required fields are marked *