- 本とまとめ買いで割引 対象商品： 最大5000円OFF「PCソフト」
Essential ActionScript 3.0 (英語) ペーパーバック – 2007/6/22
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
ActionScript 3.0 is a huge upgrade to Flash's programming language. The enhancements to ActionScript's performance, feature set, ease of use, cleanliness, and sophistication are considerable. Essential ActionScript 3.0 focuses on the core language and object-oriented programming, along with the Flash Player API. Essential ActionScript has become the #1 resource for the Flash and ActionScript development community, and the reason is the author, Colin Moock. Many people even refer to it simply as "The Colin Moock book." And for good reason: No one is better at turning ActionScript inside out, learning its nuances and capabilities, and then explaining everything in such an accessible way. Colin Moock is not just a talented programmer and technologist; he's also a gifted teacher. Essential ActionScript 3.0 is a radically overhauled update to Essential ActionScript 2.0. True to its roots, the book once again focuses on the core language and object-oriented programming, but also adds a deep look at the centerpiece of Flash Player's new API: display programming. Enjoy hundreds of brand new pages covering exciting new language features, such as the DOM-based event architecture, E4X, and namespaces--all brimming with real-world sample code. The ActionScript 3.0 revolution is here, and Essential ActionScript 3.0's steady hand is waiting to guide you through it. Adobe Developer Library is a co-publishing partnership between O'Reilly Media and Adobe Systems, Inc. and is designed to produce the number one information resources for developers who use Adobe technologies. Created in 2006, the Adobe Developer Library is the official source for comprehensive learning solutions to help developers create expressive and interactive web applications that can reach virtually anyone on any platform. With top-notch books and innovative online resources covering the latest in rich Internet application development, the Adobe Developer Library offers expert training and in-depth resources, straight from the source.
Colin Moock is an independent ActionScript expert whose world-renowned books have educated Flash programmers since 1999. He is the author of the canonical "Essential ActionScript 2.0" (O'Reilly, 2004) and "ActionScript for Flash MX: The Definitive Guide" (O'Reilly, 2003, 2001). Moock runs one of the web's oldest Flash developer sites, www.moock.org and is the co-creator of Unity, a client/server framework for creating multiuser applications.
Amazon.com で最も参考になったカスタマーレビュー (beta)
I think it is important to state that this book is in NO WAY aimed or intended for beginners. None of the books in this series are, for that matter. Being fair, and I think this information is important for people even though a bit off topic: O'Reilly RARELY makes beginner level books. What they do make is insanely useful technical books which will tell you more than you probably ever wanted to know about a subject. But they are done, IMHO, very well. Still, when looking at books to buy I think it is important to keep this in mind, particularly if you are a beginner in any topic. Especially because most programming books are rather spendy.
When I bought Moock's first book, I had been using AS for a couple years (starting from Flash 4) and was still a beginner. However, I could manage my way through the very limited scripting options. When Flash 5 opened up the AS language to a full-blown environment, I was excited to get his book. Once it arrived, I was completely overwhelmed and immediately put it away. For about a year. During that time, I found other materials and boned up on my AS, THEN revisited the book. I found it much more useful.
When AS 2 came out, I thought the same thing. Ah-ha! I already know AS, so his book will get me up to speed. Wrong. The stuff which was pretty much lifted from the previous AS 1 book made sense, but I could not grasp what he was saying about the updates and new features in AS 2. Again, I put the book away for a year, found other resources to familiarize myself with, and revisited the book. I was surprised at the wealth of information I learned, but I learned it AFTER reading numerous other sources.
Leading to this book, I completely expect the same. I am buying it because I KNOW it will be a tome well worth the price based on my looking through it at local book sellers. No one, at least that I have read, has the depth of understanding of AS Moock does. He, IMHO, really understands the what and how. And he will tell you EVERYTHING about it. He does not, sadly, possess the 'layman language' to make this a beginner book. It barely makes sense to those well immersed in the topic. BUT, once you get to the level that you can absorb what he is saying, you catapult your Flash skills and usage.
For beginners, definitely start elsewhere. Books by Phillip Kerman or Joey Lott are marvelous entry level books. Both authors have a superior knowledge of Flash AS, but the also possess the ability to talk about it conversationally. A huge help in anyone's learning of a new subject. Flash AS is a huge uphill battle, but one which rewards richly for those who travel the path. I would just hate to have someone not try because they do not understand a book reportedly aimed at developers with 'no prior programming knowledge.'
Where I also have a problem with this book is how it instructs. I've been able to follow along with the coding but the author's explanation and instruction are lacking. Its obvious that he is very knowledgeable but he doesn't do a good job of passing that knowledge on. He's all over the place, explaining some things in depth, but not touching on other things you'll have questions about. At times it will feel like he is totally scatter-brained or ADD because he'll be going on about something inconsequential, while ignoring something else that you really want the answer to. Despite it being 900+ pages, I've had to go online to find answers to fill holes in his teaching. But also it feels at times like he's trying to talk over your head and give you the official-to-the-letter-Help-menu definition. I know there's a better way to teach people this stuff, and I've read books that do that.
I give it 3 stars just for the shear quantity, and I appreciate the effort. I just wish this book was not only packed with information but also taught it well.
If you are a designer who simply wants to learn how to control animations in the Flash authoring tool, you probably don't need this book, and Adobe's documentation should be sufficient. Come back to this book when you want to learn how to add logic and programmatic behavior to your content. If you already have existing ActionScript experience, this book will help you fill in gaps in your knowledge, rethink important concepts in formal terms, and understand difficult subjects through plain language. This book is divided into three parts.
Part I, ActionScript From the Ground Up, provides exhaustive coverage of the core ActionScript language, covering object-oriented programming, classes, objects, variables, methods, functions, inheritance, datatypes, arrays, events, exceptions, scope, namespaces, and XML. Part I closes with a look at Flash Player's security architecture. This section consists of chapters 1 through 19.
Part II, Display and Interactivity, explores techniques for displaying content on screen and responding to input events. Topics covered include the Flash runtime display API, hierarchical event handling, mouse and keyboard interactivity, animation, vector graphics, bitmap graphics, text, and content loading operations. This section consists of chapters 20 through 28.
Part III, Applied ActionScript Topics, focuses on ActionScript code-production issues. Topics covered include combining ActionScript with assets created manually in the Flash authoring tool, using the Flex framework in Flex Builder 2, and creating a custom code library. This section consists of chapters 29 through 31.
This book closes with a walkthrough of a fully functional example program--a virtual zoo, the pieces of which have been discussed as examples in explanations of various aspects o ActionScript throughout the book up to this point. Noteworthy ActionScript-related topics that are not covered extensively in this book include MXML, the Flex framework, Flex Data Services, the Flash authoring tool's built-in components, Flash Media Server, Flash Remoting, and ActionScript's regular expression support. The detailed table of contents is as follows:
Part I. ACTIONSCRIPT FROM THE GROUND UP
1. Core Concepts
Tools for Writing ActionScript Code; Flash Client Runtime Environments; Compilation; Quick Review;Classes and Objects; Creating a Program;Packages; Defining a Class; Virtual Zoo Review; Constructor Methods; Creating Objects; Variables and Values; Constructor Parameters and Arguments; Expressions; Assigning One Variable's Value to Another; An Instance Variable for Our Pet; Instance Methods; Members and Properties;Virtual Zoo Review; Break Time;
2. Conditionals and Loops
Conditionals; Loops; Boolean Logic; Back to Classes and Objects;
3. Instance Methods Revisited
Omitting the this Keyword; Bound Methods; Using Methods to Examine and Modify an Object's State; Get and Set Methods; Handling an Unknown Number of Parameters; Up Next: Class-Level Information and Behavior;
4. Static Variables and Static Methods
Static Variables; Constants; Static Methods; Class Objects; C++ and Java Terminology Comparison; On to Functions;
Package-Level Functions; Nested Functions; Source-File-Level Functions; Accessing Definitions from Within a Function; Functions as Values; Function Literal Syntax; Recursive Functions; Using Functions in the Virtual Zoo Program ;Back to Classes;
A Primer on Inheritance; Overriding Instance Methods; Constructor Methods in Subclasses; Preventing Classes from Being Extended and Methods from Being Overridden; Subclassing Built-in Classes; The Theory of Inheritance; Abstract Not Supported; Using Inheritance in the Virtual Zoo Program; Virtual Zoo Program Code;It's Runtime;
7. Compiling and Running a Program
Compiling with the Flash Authoring Tool; Compiling with Flex Builder 2; Compiling with mxmlc; Compiler Restrictions; The Compilation Process and the Classpath; Strict-Mode Versus Standard-Mode Compilation; The Fun's Not Over;
8. Datatypes and Type Checking
Datatypes and Type Annotations;
Untyped Variables, Parameters, Return Values, and Expressions; Strict Mode's Three Special Cases; Warnings for Missing Type Annotations; Detecting Reference Errors at Compile Time; Casting; Conversion to Primitive Types; Default Variable Values; null and undefined; Datatypes in the Virtual Zoo; More Datatype Study Coming Up;
The Case for Interfaces; Interfaces and Multidatatype Classes; Interface Syntax and Use; Another Multiple-Type Example; More Essentials Coming;
10. Statements and Operators
Statements; Operators; Up Next: Managing Lists of Information;
What Is an Array?; The Anatomy of an Array;Creating Arrays; Referencing Array Elements; Determining the Size of an Array; Adding Elements to an Array; Removing Elements from an Array; Checking the Contents of an Array with the toString( ) Method; Multidimensional Arrays;On to Events;
12. Events and Event Handling
ActionScript Event Basics; Accessing the Target Object; Accessing the Object That Registered the Listener; Preventing Default Event Behavior; Event Listener Priority; Event Listeners and Memory Management; Custom Events; Type Weakness in ActionScript's Event Architecture; Handling Events Across Security Boundaries; What's Next?;
13. Exceptions and Error Handling
The Exception-Handling Cycle; Handling Multiple Types of Exceptions; Exception Bubbling; The finally Block; Nested Exceptions; Control-Flow Changes in try/catch/finally; Handling a Built-in Exception; More Gritty Work Ahead;
14. Garbage Collection
Eligibility for Garbage Collection; Incremental Mark and Sweep; Disposing of Objects Intentionally; Deactivating Objects; Garbage Collection Demonstration; On to ActionScript Backcountry;
15. Dynamic ActionScript
Dynamic Instance Variables; Dynamically Adding New Behavior to an Instance; Dynamic References to Variables and Methods; Using Dynamic Instance Variables to Create Lookup Tables; Using Functions to Create Objects; Using Prototype Objects to Augment Classes; The Prototype Chain ;Onward!;
Global Scope; Class Scope; Static Method Scope; Instance Method Scope; Function Scope; Scope Summary; The Internal Details; Expanding the Scope Chain via the with Statement; On to Namespaces;
Namespace Vocabulary; ActionScript Namespaces; Creating Namespaces; Using a Namespace to Qualify Variable and Method Definitions; Qualified Identifiers;A Functional Namespace Example; Namespace Accessibility; Qualified-Identifier Visibility; Comparing Qualified Identifiers; Assigning and Passing Namespace Values; Open Namespaces and the use namespace Directive; Namespaces for Access-Control Modifiers; Applied Namespace Examples; Final Core Topics;
18. XML and E4X
Understanding XML Data as a Hierarchy; Representing XML Data in E4X; Creating XML Data with E4X; Accessing XML Data; Processing XML with for-each-in and for-in; Accessing Descendants; Filtering XML Data; Traversing XML Trees; Changing or Creating New XML Content; Loading XML Data; Working with XML Namespaces; Converting XML and XMLList to a String; Determining Equality in E4X; More to Learn;
19. Flash Player Security Restrictions
What's Not in This Chapter; The Local Realm, the Remote Realm, and Remote Regions; Security-Sandbox-Types; Security Generalizations Considered Harmful; Restrictions on Loading Content, Accessing Content as Data, Cross-Scripting, and Loading Data; Socket Security; Example Security Scenarios; Choosing a Local Security-Sandbox-Type; Distributor Permissions (Policy Files); Creator Permissions (allowDomain( )) ;Import Loading ;Handling Security Violations; Security Domains; Two Common Security-Related Development Issues; On to Part II;
Part II. DISPLAY AND INTERACTIVITY
20. The Display API and the Display List
Display API Overview; The Display List; Containment Events; Custom Graphical Classes; Go with the Event Flow;
21. Events and Display Hierarchies
Hierarchical Event Dispatch; Event Dispatch Phases; Event Listeners and the Event Flow; Using the Event Flow to Centralize Code; Determining the Current Event Phase; Distinguishing Events Targeted at an Object from Events Targeted at That Object's Descendants; Stopping an Event Dispatch; Event Priority and the Event Flow; Display-Hierarchy Mutation and the Event Flow Custom Events and the Event Flow; On to Input Events;
Mouse-Input Events; Focus Events; Keyboard-Input Events; Text-Input Events; Flash Player-Level Input Events; From the Program to the Screen;
23. Screen Updates
Scheduled Screen Updates; Post-Event Screen Updates; Redraw Region; Optimization with the Event.RENDER Event; Let's Make It Move!;
24. Programmatic Animation
No Loops; Animating with the ENTER_FRAME Event; Animating with the TimerEvent.TIMER Event; Choosing Between Timer and Event.ENTER_FRAME; A Generalized Animator; Velocity-Based Animation; Moving On to Strokes 'n' Fills ;
25. Drawing with Vectors
Graphics Class Overview; Drawing Lines; Drawing Curves; Drawing Shapes; Removing Vector Content; Example: An Object-Oriented Shape Library; From Lines to Pixels;
26. Bitmap Programming
The BitmapData and Bitmap Classes; Pixel Color Values; Creating a New Bitmap Image; Loading an External Bitmap Image; Examining a Bitmap; Modifying a Bitmap; Copying Graphics to a BitmapData Object; Applying Filters and Effects; Freeing Memory Used by Bitmaps; Words, Words, Words;
27. Text Display and Input
Creating and Displaying Text; Modifying a Text Field's Content; Formatting Text Fields; Fonts and Text Rendering; Missing Fonts and Glyphs; Determining Font Availability; Determining Glyph Availability; Embedded-Text Rendering; Text Field Input; Text Fields and the Flash Authoring Tool; Loading . . . Please Wait;
28. Loading External Display Assets
Using Loader to Load Display Assets at Runtime; Compile-Time Type-Checking for Runtime-Loaded Assets; Accessing Assets in Multiframe .swf Files; Instantiating a Runtime-Loaded Asset; Using Socket to Load Display Assets at Runtime; Removing Runtime Loaded .swf Assets; Embedding Display Assets at CompileTime; On to Part III;
Part III. APPLIED ACTIONSCRIPT TOPICS
29. ActionScript and the Flash Authoring Tool
The Flash Document; Timelines and Frames; Timeline Scripting; The Document Class; Symbols and Instances; Linked Classes for Movie Clip Symbols; Accessing Manually Created Symbol Instances; Accessing Manually Created Text; Programmatic Timeline Control; Instantiating Flash Authoring Symbols via ActionScript; Instance Names for Programmatically Created Display Objects; Linking Multiple Symbols to a Single Superclass; The Composition-Based Alternative to Linked Classes; Preloading Classes; Up Next: Using the Flex Framework;
30. A Minimal MXML Application
The General Approach; A Real UI Component Example; Sharing with Your Friends;
31. Distributing a Class Library
Sharing Class Source Files; Distributing a Class Library as a .swc File; Distributing a Class Library as a .swf File;
The great thing about this book is that besides covering the details of building a large scale application, it doesn't ignor small things like "With what do I compile an ActionScript program?", "What tools do I need?", "After I compile an ActionScript program, what exactly do I have?" Plenty of example code is shown throughout and the explanations are clearly written, so you shouldn't get lost if you read the book through sequentially. Highly recommended.
With this third edition, "Essential ActionScript" has evolved into THE authoritative ActionScript resource. As one indication, this edition as over 900 pages while the last edition had about 500. There are over 15 technical reviewers, including chief Adobe engineers. This book is the one you want.
This concrete approach is something most of us will appreciate.
These are the topics discussed in Chapter 1 alone (after a 14 page preface that will leave you gasping for breath!): Runtime Environments, Compilation, Just-in-time Compilation, Classes, Objects, Packages, Access Control Modifiers for Classes, Constructor Methods, Variables and Values, Constructor Parameters and Arguments, Expressions, Instance Methods, Method Parameters and Arguments, Method Return Values, Method Signatures, Members and Properties.
And those are just *some* of the large bold sub headings in Chapter 1!
I repeat: THAT'S CHAPTER ONE ONLY. 43 pages of absolute gibberish if you are a beginner. Not to mention that the author is using ridiculously complex language. He tries to give the impression that he is properly explaining himself to new programmers, but he hasn't got a clue how to speak to beginners. For example, on page 9 he explains what the word "character" means (?). Everyone that has ever owned any device that has a keyboard knows what a "character" is! Yet on the same page, he uses the word "delimit" without a hint of an explanation. I know what delimit means; I've been coding websites for 7 years. But is he sure that a beginner knows?
While I did not yet officially read past the 1st chapter (I'm planning on reading ch.1 about 14 times before I move on!), I did flip through all 900 pages, trying to find something that I might actually be able to use in a Flash Application sometime soon. I didn't even come close to finding ANYTHING that wouldn't require hours and hours of study, practice, and debugging.
Here's another example of the book's off-the-wall structure: On page 579 he states that "ActionScript code cannot be included within an <A> tag's HREF attribute". He's supposedly speaking to people with "no prior programming knowledge" and he waits almost 600 pages to tell us that? And yet chapter one discussed all the things I mentioned above?
An explanation for why the book does not speak well to beginners is implicitly provided in the preface -- the book was reviewed by a number of super-expert Flash architects and geniuses from within Adobe. We're talking about "Computer Scientists" and "Senior Engineers". How about getting someone with "no prior programming knowledge" to review it? I think that would have helped a lot.
And why on earth is the official Amazon title for this book "Essential ActionScript 3.0 ILLUSTRATED"? Illustrated? There are virtually NO ILLUSTRATIONS in this book! Virtually NO DIAGRAMS. Virtually NO SCREEN SHOTS of anything. It's just super-complex code.
I believe, as I said, that the mention *early on* that the book is good for beginners is nothing but a marketing ploy to pull in a few thousand extra books. I am writing this review in hopes of stopping beginners from wasting their money. If you want to learn some basic ActionScript that you can use *immediately*, buy "Sams Teach Yourself Flash MX ActionScript" by Gary Rosenzweig. He speaks to beginners and experienced programmers superbly (as do all of Sams authors). Even though Gary's book is slightly out of date, it's a much better investment if you are a beginner. Move to Colin Moock's much later, if ever, or else practice your ActionScript now and wait for the 4th edition.
Having said all of the above, I will add a positive paragraph about Colin Moock and this book:
Every experienced Flash developer and/or programmer should own a copy of this book or a previous version by Moock. Moock knows his stuff and has excellent attention to detail (unstructured though it is). This book is a raw ActionScript tome that will gradually turn an experienced coder into a superb ActionScript application developer.
To summarize: The book's marketing is deceptive; it's not for beginners, and even experienced developers will need to spend countless hours studying it to benefit from it.