Foundation:
  1. "Flash Basics" includes the prerequisites that I expect every reader to
    bring with him or her. Even if you consider yourself a Flash expert, you
    should read this chapter as both a review and an insight into some of the
    terms that I’ll use throughout the book.

  2. "What's New in Flash MX" introduces you to the key features in Flash
    MX that pertain specifically to ActionScript. In addition to changes in the
    programming language, features that affect how you build a Flash movie
    are discussed. Finally, this chapter includes some guidelines and a legend
    for the rest of the book.

  3. "The Programmer's Approach" is a very general chapter that lays the
    groundwork for your programming career. Topics such as writing specifications,
    prototyping, and exactly what “good style” means are covered.

  4. "Basic Programming in Flash" introduces you to the terminology and
    basic elements of ActionScript, such as data types and variables. It’s
    impossible to discuss these elements without showing how they work, but
    the goal of this chapter is just to introduce all the pieces that will be incorporated
    in later chapters.

  5. "Programming Structures" is a huge chapter that explains all the ways
    ActionScript is structured. If Chapter 4 was the building materials (wood,
    bricks, and concrete), this chapter is the framework and architectural
    styles. You also get a peek at both the Math and Number objects because
    they’re so integral to the structural elements covered.

  6. "Debugging" offers a chance to catch your breath (after Chapter 5) and
    take the time to learn ways to ensure quality programming before you go
    too far in the wrong direction. The revised Flash Debugger is explained, as
    well as some general programming techniques to avoid or remove bugs.

  7. "The Movie Clip Object" introduces a familiar component of Flash, but in
    a way that will help you understand other “objects” that come up in later
    chapters. In this way, you can leverage your existing knowledge when
    learning advanced topics.

  8. "Functions" shows you how to use the built-in functions as well as how to
    write your own functions. It turns out that homemade functions prove to be
    much more involved than the ones that come with Flash. This is possibly
    the most valuable chapter because it can save you a ton of time.

  9. "Manipulating Strings" looks at how to manipulate string data.
    Often, the user will end up seeing this text onscreen—but not necessarily.
    The ability to manipulate strings before the user sees them is very powerful.

  10. "Keyboard Access and Modifying Onscreen Text" makes the leap to how
    text is displayed onscreen. Flash MX’s new TextField and TextFormat
    objects are explored as well as listeners and keyboard control.

  11. "Arrays" explores how to make, access, and manipulate arrays, which are
    simply a great way to organize complex information.

  12. "Objects" introduces the general form of objects, shows you how to use
    the built-in objects Sound, Color, and Date, and teaches you new ways to
    use the familiar Movie Clip. This chapter also covers the new runtime
    drawing functions.

  13. "Homemade Objects" shows you how to apply the knowledge you already
    have to make complex objects in Flash. If arrays are a way to store complex
    information easily, objects are a way to store really complex information.

  14. "Extending ActionScript " introduces all of the new ways you can modify
    ActionScript to make it behave as you want. You should definitely check
    out this chapter because you’ll learn a few simple techniques that will save
    a ton of time.

  15. "Components" walks through all the ways to build and use components,
    from ways of making standard components work for you to creating custom
    User Interfaces (custom UIs).

  16. "Interfacing with External Data" shows you many of the ways that Flash
    can “talk” to outside applications. Topics include reading text files, interacting
    with server applications, exchanging XML-structured data, exchanging
    data through the new LocalConnection object, and saving data on the
    users local machine with the local SharedObject. I didn’t have time to
    actually show you how to use outside tools, but this chapter shows you
    practically everything else.

Workshops:

  1. "Ensuring That Users Have the Flash Player 6." This no-nonsense workshop
    chapter discusses some of the ways to make sure that your audience
    is equipped to see your Flash 6 creation. We also walk through an exercise
    using Flash itself as a way to determine player version.

  2. "Creating Custom Cursors." After two simple steps to make a custom cursor,
    this workshop chapter goes on to make a component and then a custom
    UI for that component. This workshop chapter is pretty involved. You
    learn that you can’t use buttons (even invisible ones) because they would
    conflict with any buttons that you try to place this component over.

  3. "Creating a Horizontal Slider." In this workshop chapter, we make a slider
    component that can work for anything from volume control to video playback.
    We make this component as generic and universal as possible.

  4. "Building a Slide Show." In addition to the slide show application that you
    build, you get your first introduction to using the onEnterFrame event as
    well as disabling buttons.

  5. "Mapping and Scripted Masks." The general technique of mapping is
    applied to a contrived exercise, but in a way that enables you to apply it to
    other situations. Bring your math “thinking cap” to this one.

  6. "Working with Odd-Shaped Clickable Areas." Although buttons are great,
    this workshop chapter shows how Movie Clips (along with the hitTest()
    method) can serve as alternatives to buttons.

  7. "Adapting Built-In Components." Not only does this exercise show you
    how to adapt the look and feel of the ComboBox component that ships
    with Flash, you also learn a bit about the process involved in looking
    through someone else’s code.

  8. "Creating a Currency-Exchange Calculator." We turn a simple currencyexchange
    calculation into a really usable application. This workshop chapter
    includes some fancy string maneuvers and a simple use of the new
    LoadVars object.

  9. "Creating a Tooltip Component." The basic concepts from Workshop
    Chapter 2, “Creating Custom Cursors,” come into play, but we use
    getTimer() for the first time to add an optional delay.

  10. "Creating Timers." In this workshop chapter, we use the getTimer() function
    in a most typical way—to make three separate timers: a digital stopwatch,
    a traditional analog display, and a countdown timer (like a sand
    hourglass). The code for the first two parts is nearly identical.

  11. "Using Math to Create a Circular Slider." The result of this workshop
    chapter doesn’t look much different than a regular slider—it just follows a
    circular path. However, to calculate angles and draw arcs, we use several
    trigonometry functions from the Math object.

  12. "Developing Time-Based Animations." In a simple example, we see how to
    use getTimer()to ensure perfect synchronization—and how to effectively
    drop frames if the animation is not keeping up.

  13. "Drawing Graphs." This workshop chapter uses the new drawing functions
    to create graphs based on dynamic data. Then we go on to label the graph
    using the TextField object and add a colored mask using the new
    setMask() method.

  14. "Offline Production." We’ll build an animation and then save the coordinates
    of each step so that it can be used in a time-based application.

  15. "Creating a Dynamic Slide Presentation." Here we build an XML application
    that dynamically loads data (including images) to build a slide show
    with bullet points. This workshop chapter is an exercise in using XMLstructured
    data as well as general template design.

  16. "Using the Local SharedObject to Remember User Settings" In this work-
    shop chapter, we build a language-selection interface so that users can
    specify their language preferences.

  17. "Using the LocalConnection Object for Inter-Movie Communication."
    Perhaps the most under-appreciated new feature in Flash MX is the
    LocalConnection object, which lets two Flash movies communicate. In
    this workshop chapter, we use the LocalConnection object to build a help
    system.

  18. "Fixing Broken Scripts." This workshop chapter challenges you to fix
    10 faulty Flash files (that you download from www.phillipkerman.com/
    actionscripting). For each one, you’ll be given a clue and the solution to
    make things right.

Back to "ActionScripting in FLASH MX"