| | Copyright |
| | Foreword |
| | Preface |
| | | This Book Wants You |
| | | What This Book Is Not |
| | | Who Should (and Shouldn't) Read This Book |
| | | ActionScript 2.0 Versus ActionScript 1.0 |
| | | Deciphering Flash Versions |
| | | Example Files and Resources |
| | | Typographical Conventions |
| | | Using Code Examples |
| | | We'd Like to Hear from You |
| | | Acknowledgments |
| | Part I: The ActionScript 2.0 Language |
| | | Chapter 1. ActionScript 2.0 Overview |
| | | Section 1.1. ActionScript 2.0 Features |
| | | Section 1.2. Features Introduced by Flash Player 7 |
| | | Section 1.3. Flash MX 2004 Version 2 Components |
| | | Section 1.4. ActionScript 1.0 and 2.0 in Flash Player 6 and 7 |
| | | Section 1.5. Let's Go OOP |
| | | Chapter 2. Object-Oriented ActionScript |
| | | Section 2.1. Procedural Programming and Object-Oriented Programming |
| | | Section 2.2. Key Object-Oriented Programming Concepts |
| | | Section 2.3. But How Do I Apply OOP? |
| | | Section 2.4. On with the Show! |
| | | Chapter 3. Datatypes and Type Checking |
| | | Section 3.1. Why Static Typing? |
| | | Section 3.2. Type Syntax |
| | | Section 3.3. Compatible Types |
| | | Section 3.4. Built-in Dynamic Classes |
| | | Section 3.5. Circumventing Type Checking |
| | | Section 3.6. Casting |
| | | Section 3.7. Datatype Information for Built-in Classes |
| | | Section 3.8. ActionScript 2.0 Type Checking Gotchas |
| | | Section 3.9. Up Next: Creating Classes ”Your Own Datatypes! |
| | | Chapter 4. Classes |
| | | Section 4.1. Defining Classes |
| | | Section 4.2. Constructor Functions (Take 1) |
| | | Section 4.3. Properties |
| | | Section 4.4. Methods |
| | | Section 4.5. Constructor Functions (Take 2) |
| | | Section 4.6. Completing the Box Class |
| | | Section 4.7. Putting Theory into Practice |
| | | Chapter 5. Authoring an ActionScript 2.0 Class |
| | | Section 5.1. Class Authoring Quick Start |
| | | Section 5.2. Designing the ImageViewer Class |
| | | Section 5.3. ImageViewer Implementation (Take 1) |
| | | Section 5.4. Using ImageViewer in a Movie |
| | | Section 5.5. ImageViewer Implementation (Take 2) |
| | | Section 5.6. ImageViewer Implementation (Take 3) |
| | | Section 5.7. Back to the Classroom |
| | | Chapter 6. Inheritance |
| | | Section 6.1. A Primer on Inheritance |
| | | Section 6.2. Subclasses as Subtypes |
| | | Section 6.3. An OOP Chat Example |
| | | Section 6.4. Overriding Methods and Properties |
| | | Section 6.5. Constructor Functions in Subclasses |
| | | Section 6.6. Subclassing Built-in Classes |
| | | Section 6.7. Augmenting Built-in Classes and Objects |
| | | Section 6.8. The Theory of Inheritance |
| | | Section 6.9. Abstract and Final Classes Not Supported |
| | | Section 6.10. Let's Try Inheritance |
| | | Chapter 7. Authoring an ActionScript 2.0 Subclass |
| | | Section 7.1. Extending ImageViewer's Capabilities |
| | | Section 7.2. The ImageViewerDeluxe Skeleton |
| | | Section 7.3. Adding setPosition( ) and setSize( ) Methods |
| | | Section 7.4. Autosizing the Image Viewer |
| | | Section 7.5. Using ImageViewerDeluxe |
| | | Section 7.6. Moving Right Along |
| | | Chapter 8. Interfaces |
| | | Section 8.1. The Case for Interfaces |
| | | Section 8.2. Interfaces and Multidatatype Classes |
| | | Section 8.3. Interface Syntax and Use |
| | | Section 8.4. Multiple Type Inheritance with Interfaces |
| | | Section 8.5. Up Next, Packages |
| | | Chapter 9. Packages |
| | | Section 9.1. Package Syntax |
| | | Section 9.2. Defining Packages |
| | | Section 9.3. Package Access and the Classpath |
| | | Section 9.4. Simulating Packages in ActionScript 1.0 |
| | | Section 9.5. Just a Little More Theory |
| | | Chapter 10. Exceptions |
| | | Section 10.1. The Exception-Handling Cycle |
| | | Section 10.2. Handling Multiple Types of Exceptions |
| | | Section 10.3. Exception Bubbling |
| | | Section 10.4. The finally Block |
| | | Section 10.5. Nested Exceptions |
| | | Section 10.6. Control Flow Changes in try/catch/finally |
| | | Section 10.7. Limitations of Exception Handling in ActionScript 2.0 |
| | | Section 10.8. From Concepts to Code |
| | Part II: Application Development |
| | | Chapter 11. An OOP Application Framework |
| | | Section 11.1. The Basic Directory Structure |
| | | Section 11.2. The Flash Document (.fla file) |
| | | Section 11.3. The Classes |
| | | Section 11.4. The Document Timeline |
| | | Section 11.5. The Exported Flash Movie (.swf file) |
| | | Section 11.6. Projects in Flash MX Professional 2004 |
| | | Section 11.7. Let's See It in Action! |
| | | Chapter 12. Using Components with ActionScript 2.0 |
| | | Section 12.1. Currency Converter Application Overview |
| | | Section 12.2. Preparing the Flash Document |
| | | Section 12.3. The CurrencyConverter Class |
| | | Section 12.4. Handling Component Events |
| | | Section 12.5. Components Complete |
| | | Chapter 13. MovieClip Subclasses |
| | | Section 13.1. The Duality of MovieClip Subclasses |
| | | Section 13.2. Avatar: A MovieClip Subclass Example |
| | | Section 13.3. Avatar: The Composition Version |
| | | Section 13.4. Issues with Nested Assets |
| | | Section 13.5. A Note on MovieClip Sub-subclasses |
| | | Section 13.6. Curiouser and Curiouser |
| | | Chapter 14. Distributing Class Libraries |
| | | Section 14.1. Sharing Class Source Files |
| | | Section 14.2. Sharing Classes Without Sharing Source Files |
| | | Section 14.3. Solving Real OOP Problems |
| | Part III: Design Pattern Examples in ActionScript 2.0 |
| | | Chapter 15. Introduction to Design Patterns |
| | | Section 15.1. Bring on the Patterns |
| | | Chapter 16. The Observer Design Pattern |
| | | Section 16.1. Implementing Observer in ActionScript 2.0 |
| | | Section 16.2. Logger: A Complete Observer Example |
| | | Section 16.3. Memory Management Issues with Observer |
| | | Section 16.4. Beyond Observer |
| | | Chapter 17. The Singleton Design Pattern |
| | | Section 17.1. Implementing Singleton in ActionScript 2.0 |
| | | Section 17.2. The Singleton Pattern in the Logger Class |
| | | Section 17.3. Singleton Versus Class Methods and Class Properties |
| | | Section 17.4. A Warning Against Singletons as Globals |
| | | Section 17.5. On to User Interfaces |
| | | Chapter 18. The Model-View-Controller Design Pattern |
| | | Section 18.1. The General Architecture of MVC |
| | | Section 18.2. A Generalized MVC Implementation |
| | | Section 18.3. An MVC Clock |
| | | Section 18.4. Further Exploration |
| | | Chapter 19. The Delegation Event Model |
| | | Section 19.1. Structure and Participants |
| | | Section 19.2. The Flow of Logic |
| | | Section 19.3. Core Implementation |
| | | Section 19.4. NightSky: A Delegation Event Model Example |
| | | Section 19.5. Other Event Architectures in ActionScript |
| | | Section 19.6. From Some Place to Some OtherPlace |
| | Part IV: Appendixes |
| | | Appendix A. ActionScript 2.0 Language Quick Reference |
| | | Section A.1. Global Properties |
| | | Section A.2. Global Functions |
| | | Appendix B. Differences from ECMAScript Edition 4 |
| | Colophon |
| | Index |