TY - BOOK AU - Moock, Colin AU - Epstein, Bruce (ed) TI - Essential ActionScript 2.0 SN - 9780596006525 U1 - 006.696 PY - 2004/// CY - USA PB - O'Reilly Media KW - ActionScript (Computer program language) KW - Computer Animation N1 - oreword xi Preface xv Part I. The ActionScript 2.0 Language ActionScript 2.0 Overview 3 (10) ActionScript 2.0 Features 3 (2) Features Introduced by Flash Player 7 5 (1) Flash MX 2004 Version 2 Components 6 (2) ActionScript 1.0 and 2.0 in Flash Player 6 and 7 8 (4) Let's Go OOP 12 (1) Object-Oriented ActionScript 13 (11) Procedural Programming and Object-Oriented Programming 13 (1) Key Object-Oriented Programming Concepts 14 (5) But How Do I Apply OOP? 19 (4) On with the Show! 23 (1) Datatypes and Type Checking 24 (35) Why Static Typing? 30 (1) Type Syntax 31 (5) Compatible Types 36 (4) Built-in Dynamic Classes 40 (1) Circumventing Type Checking 41 (4) Casting 45 (9) Datatype Information for Built-in Classes 54 (1) ActionScript 2.0 Type Checking Gotchas 55 (3) Up Next: Creating Classes---Your Own Datatypes! 58 (1) Classes 59 (65) Defining Classes 59 (5) Constructor Functions (Take 1) 64 (1) Properties 65 (16) Methods 81 (31) Constructor Functions (Take 2) 112 (7) Completing the Box Class 119 (4) Putting Theory into Practice 123 (1) Authoring an ActionScript 2.0 Class 124 (34) Class Authoring Quick Start 124 (1) Designing the ImageViewer Class 125 (4) ImageViewer Implementation (Take 1) 129 (5) Using ImageViewer in a Movie 134 (4) ImageViewer Implementation (Take 2) 138 (8) ImageViewer Implementation (Take 3) 146 (11) Back to the Classroom 157 (1) Inheritance 158 (57) A Primer on Inheritance 158 (4) Subclasses as Subtypes 162 (1) An OOP Chat Example 163 (3) Overriding Methods and Properties 166 (27) Constructor Functions in Subclasses 193 (5) Subclassing Built-in Classes 198 (3) Augmenting Built-in Classes and Objects 201 (1) The Theory of Inheritance 202 (11) Abstract and Final Classes Not Supported 213 (1) Let's Try Inheritance 214 (1) Authoring an ActionScript 2.0 Subclass 215 (9) Extending ImageViewer's Capabilities 215 (1) The ImageViewerDeluxe Skeleton 216 (1) Adding setPosition() and setSize() Methods 217 (1) Autosizing the Image Viewer 218 (5) Using ImageViewerDeluxe 223 (1) Moving Right Along 223 (1) Interfaces 224 (14) The Case for Interfaces 224 (2) Interfaces and Multidatatype Classes 226 (1) Interface Syntax and Use 227 (5) Multiple Type Inheritance with Interfaces 232 (4) Up Next, Packages 236 (2) Packages 238 (11) Package Syntax 239 (5) Defining Packages 244 (1) Package Access and the Classpath 245 (3) Simulating Packages in ActionScript 1.0 248 (1) Just a Little More Theory 248 (1) Exceptions 249 (34) The Exception-Handling Cycle 250 (5) Handling Multiple Types of Exceptions 255 (9) Exception Bubbling 264 (4) The finally Block 268 (3) Nested Exceptions 271 (4) Control Flow Changes in try/catch/finally 275 (2) Limitations of Exception Handling in ActionScript 2.0 277 (3) From Concepts to Code 280 (3) Part II. Application Development An OOP Application Framework 283 (8) The Basic Directory Structure 284 (1) The Flash Document (.fla file) 284 (1) The Classes 285 (2) The Document Timeline 287 (2) The Exported Flash Movie (.swf file) 289 (1) Projects in Flash MX Professional 2004 290 (1) Let's See It in Action! 290 (1) Using Components with ActionScript 2.0 291 (25) Currency Converter Application Overview 291 (1) Preparing the Flash Document 292 (3) The CurrencyConverter Class 295 (13) Handling Component Events 308 (7) Components Complete 315 (1) MovieClip Subclasses 316 (16) The Duality of MovieClip Subclasses 317 (1) Avatar: A MovieClip Subclass Example 318 (8) Avatar: The Composition Version 326 (1) Issues with Nested Assets 327 (3) A Note on MovieClip Sub-subclasses 330 (1) Curiouser and Curiouser 331 (1) Distributing Class Libraries 332 (17) Sharing Class Source Files 332 (6) Sharing Classes Without Sharing Source Files 338 (8) Solving Real OOP Problems 346 (3) Part III. Design Pattern Examples in ActionScript 2.0 Introduction to Design Patterns 349 (3) Bring on the Patterns 351 (1) The Observer Design Pattern 352 (29) Implementing Observer in ActionScript 2.0 354 (6) Logger: A Complete Observer Example 360 (18) Memory Management Issues with Observer 378 (2) Beyond Observer 380 (1) The Singleton Design Pattern 381 (5) Implementing Singleton in ActionScript 2.0 381 (2) The Singleton Pattern in the Logger Class 383 (1) Singleton Versus Class Methods and Class Properties 384 (1) A Warning Against Singletons as Globals 385 (1) On to User Interfaces 385 (1) The Model-View-Controller Design Pattern 386 (37) The General Architecture of MVC 388 (4) A Generalized MVC Implementation 392 (6) An MVC Clock 398 (23) Further Exploration 421 (2) The Delegation Event Model 423 (58) Structure and Participants 423 (4) The Flow of Logic 427 (1) Core Implementation 427 (5) NightSky: A Delegation Event Model Example 432 (10) Other Event Architectures in ActionScript 442 (1) From Some Place to Some OtherPlace 443 (4) Part IV. Appendixes A. ActionScript 2.0 Language Quick Reference 447 (31) B. Differences from ECMAScript Edition 4 478 (3) Index 481 ER -