You are previewing Special Edition Using® Macromedia® Director® MX.
O'Reilly logo
Special Edition Using® Macromedia® Director® MX

Book Description

Special Edition Using Macromedia Director MX is a comprehensive guide to creating and publishing Director movies.

The book includes complete coverage of the newest version of Director, from advanced issues such as Lingo scripting and multi-user applications on how to employ the 3D API.

This edition includes more coverage of multi-user applications, using 3D media, efficient sprite editing with the context-sensitive Property Inspector, increased control of cast members through the Cast Manager, vector drawing tools that add illustration capability, and special imaging effects and transition behaviors to add pizzazz and drama to applications.

Table of Contents

  1. Copyright
    1. Dedication
  2. About the Author
  3. Acknowledgments
  4. We Want to Hear from You!
  5. Reader Services
  6. Introduction
    1. About Director MX
    2. Who Is This Book For?
    3. How Has This Book Changed from the Previous Edition?
    4. What Is New in Director MX?
    5. Conventions Used in This Book
    6. Before You Begin
    7. Updates and Support
  7. I. Director Essentials
    1. 1. Using the Director Interface
      1. The Macromedia Director Metaphor
      2. Exploring Windows and Panels
      3. Understanding the Cast and Cast Members
        1. The Cast Panel
        2. Cast Member Types
        3. Multiple and External Casts
      4. Using the Stage
        1. Stage Properties
        2. Grids and Guides
        3. Stage Tools
      5. Using the Score
        1. Score Panel Basics
        2. Effects Channels
        3. Modifying the Score Panel
        4. Other Score Functionality
      6. Working with Tool Panels
        1. Property Inspector
        2. Tool Palette
        3. Other Panels
      7. Setting Director Preferences
        1. General Preferences
        2. Network Preferences
        3. Editors Preferences
        4. Script Window Preferences
        5. Movie Properties
        6. Movie Playback Properties
      8. Getting Help
      9. Troubleshooting
        1. Missing Interface Elements
        2. Cast Preferences Won’t Stick
        3. Movies Run Too Slow
      10. Did You Know?
    2. 2. Working with Director Member Types
      1. Using Bitmaps
        1. Types of Bitmaps
        2. Importing Bitmaps
        3. Editing Bitmaps with the Paint Editor
        4. Paint Window Preferences
        5. The Effects Toolbar
        6. Registration Points
        7. Bitmap Member Properties
        8. Photoshop Filters
      2. Using Text Members
        1. Text Editing
        2. Text Importing
        3. Text Member Options
        4. Working with the Text Inspector Panel
        5. Using the Font Dialog Box
        6. The Paragraph Dialog Box
        7. Using 3D Text
      3. Using Field Members
        1. Using the Field Editor
        2. Knowing When to Use Text and When to Use Fields
      4. Importing Font Members
      5. Importing and Using Sounds
        1. Using Sounds
        2. Importing Sounds
        3. Using External Sounds
        4. Streaming Shockwave Audio
      6. Creating Shape Members
      7. Creating Vector Members
        1. Using the Vector Shape Editor
        2. Vector Shape Properties
      8. Adding Flash Members
      9. Importing Digital Video
        1. Digital Video Formats
        2. Understanding Digital Video Settings
        3. Working with Digital Video
      10. Other Member Types
        1. Pushbuttons
        2. Check Boxes
        3. Creating Radio Buttons
        4. Adding Cursors
          1. Built-In Cursors
          2. Custom Bitmap Cursors
          3. Animated Cursors
        5. Using Animated GIFs
      11. Adding New Cast Member Types with Xtras
      12. Troubleshooting
        1. Photoshop Filter Crashes Director
        2. Problems Editing a 1-bit Cast Members
        3. Problems Importing Text Files
        4. Styled Text Looks Wrong
      13. Did You Know?
    3. 3. Writing Lingo Scripts
      1. What Is Lingo?
      2. Creating Scripts
        1. Using the Script Panel
        2. Script Cast Member Properties
        3. A Typical Frame Script
        4. A Typical Button Script
        5. Reusing Scripts
        6. Testing Lingo with the Message Panel
      3. Understanding Lingo Elements
        1. Commands
        2. Handlers
        3. Using Variables
        4. Custom Handlers
          1. Creating a Custom Handler
          2. Using Functions
        5. if Statements
        6. Simple if then Statements
          1. case Statements
          2. Nested if Statements
        7. Loops
          1. repeat with
          2. repeat while
          3. Other repeat Variations
          4. Repeating Forever
        8. Using List Variables
          1. Linear Lists
          2. Property Lists
      4. Navigation with Lingo
        1. Navigation With the go Command
        2. play and play done
        3. Jumping to Other Movies
        4. Example: Creating a Simple Presentation
        5. Example: A Presentation Menu Screen
      5. Understanding Messages and Behaviors
        1. Movie Event Messages
        2. User Event Messages
        3. Connecting Messages to Sprites
        4. Creating Your Own Properties
        5. Creating Simple Behaviors
      6. Writing Lingo Code
        1. The Lingo Programmer
        2. Programming as Problem Solving
        3. Solving Smaller Problems
        4. Many Ways to Do Things
        5. Setting Up Your Script Members
        6. Commenting Your Code
        7. Use Descriptive Names and Comments
        8. Write Re-usable Code
      7. Troubleshooting
        1. Writing Large Lingo Programs
        2. Changing a Behavior Affects All Instances of the Behavior
        3. Old Movies Bring Up Errors
      8. Did You Know?
  8. II. Building Director Movies
    1. 4. Using Sprites and the Score
      1. Creating Animation
        1. Placing a Sprite on the Stage
        2. Working with Multiple Sprites
        3. Animating the Sprites
      2. Sprite Placement Tools
        1. Utilizing the Design Tools
        2. Using Menu Commands
        3. Tweak Tool
      3. Working with the Sprite Spans
      4. Animation Techniques
        1. Step Recording
        2. Real-Time Recording
        3. Space to Time Recording
        4. Cast to Time Recording
        5. Tweening
          1. Defining a Curve
          2. Sprite Tweening Options
        6. Onion Skinning
      5. Using Score Effects Channels
        1. Tempo Channel
        2. Transition Channel
        3. Sound Channels
      6. Controlling Sprite Appearance
        1. Sprite Inks
        2. Sprite Blend
        3. Sprite Colors
        4. Sprite Shape
          1. Resizing Sprites
          2. Rotating Sprites
          3. Flipping Sprites
      7. Troubleshooting
        1. Setting the Tempo to a Low Value
        2. Transitions Slowing Playback
        3. Better Alternative to Matte Ink
        4. Colors Are Darker on PCs Than on Macs
        5. Sprite Transformations Slow Animation
      8. Did You Know?
    2. 5. Adding User Interaction
      1. Types of User Interface Elements
      2. Mouse Input
        1. Creating Buttons
        2. Button States
      3. Keyboard Input
        1. Detecting Keypresses
        2. Accepting Input
        3. Restricting Input
        4. Password Entry
      4. Interface Elements
        1. Creating Display Rollovers
        2. Using Check Boxes
        3. Using Radio Buttons
        4. Dragging Sprites
          1. Simple Drag Script
          2. A Better Drag Behavior
          3. Click, Drag, and Lock
          4. Drag and Throw
        5. Creating Sliders
          1. Slider Elements
          2. Slider Behavior Properties
          3. Setting the Slider’s Position
          4. Mouse Input
          5. Determining the Slider’s Value
          6. Additional Elements
        6. Creating Progress Bars
        7. Creating Graphical Pop-Up Menus
      5. Troubleshooting
        1. Differences Between Mouse Location Properties
        2. Interface Elements Don’t Recognize Fractional Values
        3. Using Member Numbers Could Lead to Trouble
      6. Did You Know?
    3. 6. Controlling Sprites
      1. Changing the Sprite’s Member
      2. Controlling Sprite Location
      3. Changing Ink, Color, and Blend
        1. Sprite Inks
        2. Sprite Colors
        3. Sprite Blend
      4. Distorting a Sprite’s Shape
        1. The rotation Property
        2. The flipH and flipV Properties
        3. The skew Property
        4. Setting the Sprite Rectangle
        5. The quad Property
      5. Other Sprite Properties
        1. Sprite Property Summary
      6. Mapping Sprites
      7. Troubleshooting
        1. Bogging Down the Animation
        2. Using quad Twists the Image
        3. Semitransparent Images from Photoshop Have Halos
      8. Did You Know?
    4. 7. Controlling Sound with Lingo
      1. Playing Sound Members
        1. The play and queue Commands
        2. Modifying Sound Playback
        3. Pitch-Shifting Sounds
        4. Looping Sounds
        5. Controlling Volume and Balance
        6. Fading In and Out
        7. Sound Lingo Summary
      2. Using Cue Points
      3. Playing External Sounds
      4. Using Shockwave Audio
      5. Troubleshooting
        1. Lingo Sounds Cut Off Score Sounds
        2. Path Problems
        3. Mac Sound Doesn’t Work in Windows
        4. Long Sounds Not Working in Projectors
      6. Did You Know?
    5. 8. Controlling Flash Members
      1. Using Flash Member Lingo
        1. Controlling Flash Member Playback
        2. Controlling Flash Movie Behavior
        3. Flash Member Interaction
        4. Controlling Flash Member Appearance
      2. Lingo and ActionScript Interaction
        1. Accessing ActionScript Objects
          1. Arrays
          2. Dates
          3. Strings
          4. XML
        2. Custom ActionScript Objects
        3. Flash Variables and Properties
        4. Flash Printing
      3. Troubleshooting
        1. Flash Members Slow Down Director Movies
        2. Replacing Flash Members Clears Properties
        3. Some ActionScript Doesn’t Seem to Work in Director
      4. Did You Know?
    6. 9. Controlling Digital Video with Lingo
      1. Using Video Commands
        1. Member Properties
        2. Sprite Properties
        3. Masks
      2. Building Video Controls
      3. Using Other Video Techniques
      4. Troubleshooting
        1. Setting Blend of Video Doesn’t Work
        2. QuickTime Controller Changes Size on Different Platforms
        3. QuickTime Sound Overrides Director Sound Channels
      5. Did You Know?
    7. 10. Creating MIAWs and Controlling the Director Environment
      1. Using MIAWs
        1. Creating a MIAW
        2. MIAW Properties
        3. Window Commands
        4. MIAW System Properties
        5. MIAW Event Handlers
      2. Creating Custom Dialog Boxes
        1. Confirmation Dialog Boxes
        2. Alert Dialog Boxes
        3. Text Input Dialog Boxes
      3. Creating Oddly Shaped MIAWs
      4. Other Uses for MIAWs
      5. Using Linked Director Movies
      6. Using MUI Xtra Dialog Boxes
        1. Creating a File Open Dialog Box
        2. Creating a File Save Dialog Box
        3. Creating a Get URL Dialog Box
        4. Creating Alert Boxes
        5. Creating Custom MUI Dialog Boxes
      7. Using Menus
        1. Creating Menus
        2. Controlling Menus
      8. Using Cursors
        1. Using Built-In Cursors
        2. Using Custom Bitmap Cursors
        3. Using the Cursor Xtra
      9. Learning About the Computer
      10. Telling Time
      11. Quitting and Shutting Down
      12. Troubleshooting
        1. Early Testing for MIAW Code
        2. Errors in MUI Xtra Code Can Cause Crashes
        3. Time Formats Vary On Different Machines
        4. Cursor Bitmaps Require Specific Bit Depths
      13. Did You Know?
  9. III. Advanced Programming Concepts
    1. 11. Understanding Variables, Operations, and Lists
      1. Using Number Variables
        1. Performing Operations
        2. Integers and Floats
        3. Precedence
        4. Operations and Variables
        5. Functions
        6. Trigonometry Functions
      2. Using String Variables
        1. Chunk Expressions
        2. Manipulating Strings
        3. String Information
        4. ASCII Codes
      3. Constants
      4. Comparing Variables
      5. Using List Variables
        1. List Functions
        2. Creating Lists
        3. Addressing Items in Lists
        4. Duplicating Lists
        5. Nested Lists
        6. List Math
        7. Objects That Act Like Lists
      6. Symbols
        1. Uses for Symbols
        2. Symbols in Lingo
        3. Converting Symbols
      7. Identifying Variables
        1. Predicate Functions
        2. The ilk function
      8. Troubleshooting
        1. Numbers Always Seem to Round Down
        2. getProp Error Messages
        3. Special Characters Are Wrong on Different Platforms
      9. Did You Know?
    2. 12. Using Object-Oriented Programming and Behaviors
      1. Understanding Behaviors
      2. Controlling a Single Sprite
        1. Sprite Messages
        2. Properties
        3. Using me
      3. Creating Simple Behaviors
        1. Navigation Behaviors
        2. Rollover Behaviors
          1. Determining the Sprite Number
          2. Using Consecutive Members
          3. Using Parameters
        3. Animation Behaviors
      4. Creating a Simple Button Behavior
      5. Using Complete Behaviors
        1. Behavior Descriptions
        2. Behavior Property Description List
        3. Automatic Property Setting
        4. Controlling Where Behaviors Are Used
        5. ToolTips
      6. Building a Complete Button Behavior
        1. Creating the Parameters
        2. Writing the Event Handlers
          1. The on beginSprite Handler
          2. Mouse Event Handlers
          3. Action Handler
      7. Creating Animation Behaviors
        1. Bouncing off Walls
        2. Adding Gravity
      8. Communicating Between Behaviors
        1. Sending a Message to a Sprite
        2. Sending a Message to All Sprites
        3. Sending a Message to Specific Behaviors
      9. Using Parent Scripts
        1. Reasons to Use Objects
          1. Objects Organize Your Code
          2. Objects Persist over Time
          3. Objects Are Easy to Test
          4. Objects Make Coding Easier and More Efficient
          5. Objects Can Be Reused
        2. Creating an Object in Lingo
        3. Creating Object Properties
        4. Using OOP
        5. Using Ancestor Scripts with Parent Scripts
      10. Troubleshooting
        1. Completing Parameter Descriptions
        2. Changing Parent Scripts On-the-Fly
        3. Favor Behaviors Over Parent Scripts
      11. Did You Know?
    3. 13. Using Lingo to Alter Text Members
      1. Field Properties and Functions
      2. Text Member Properties and Functions
      3. Creating Text Lists
      4. Creating Text Pop-Up Menus
      5. Using Rich Text Format
      6. Using HTML and Tables
        1. A Simple HTML Application
        2. Creating Tables
      7. Using HTML and Hypertext
        1. Setting and Using Hyperlinks
        2. Modifying Hyperlinks with Lingo
      8. Troubleshooting
        1. Using HTML and Sprite Inks
        2. Using Text Styles With Embedded Fonts
      9. Did You Know?
    4. 14. Using Lingo to Create Images
      1. The Image Object
        1. Accessing Images
        2. Creating Images
        3. Image Properties
        4. Image Commands
      2. Drawing with Lingo
        1. Drawing Shapes
        2. Drawing Pixels
        3. Filling Odd-Shaped Areas
      3. Examining Pixel Color
      4. Manipulating Images
        1. Copying Image Portions
        2. Understanding the Alpha Channel
        3. Sprite Transitions
      5. Images of Other Member Types
        1. Bringing Text into Images
        2. Flash Members
        3. 3D Members
      6. Troubleshooting
        1. Problems with useAlpha Property
        2. copyPixels Requires Power
        3. Paint Panel Doesn’t Show Some Images Correctly
      7. Did You Know?
    5. 15. Using Lingo to Draw Vector Shapes
      1. Vector Shape Properties and Commands
      2. Vector Shape Commands
      3. Building Vectors with Lingo
      4. Using Vectors for Collision Detection
      5. Troubleshooting
        1. Changing Vertex Locations Shifts Registration Point
        2. Fills Only Work When the Shape Is Closed
        3. Using the Right Ink for Vector Shapes
      6. Did You Know?
  10. IV. Creating and Controlling 3D
    1. 16. Creating 3D Models
      1. 3D Basics
        1. The Third Dimension
        2. The Imaginary 3D World
        3. Shockwave 3D Terminology
          1. Models
          2. Cameras
          3. Lights
          4. Parts of a Model
          5. Shaders and Textures
      2. Importing Models
        1. Where to Get 3D Models
          1. Make Them Yourself
          2. Shockwave 3D Model Libraries
          3. Convert Other 3D Models
        2. Importing into Director
      3. The Shockwave 3D Panel
      4. Displaying a 3D Model on the Stage
      5. Using ShapeShifter 3D
        1. Creating a Simple Model
        2. Creating Complex Models with ShapeShifter 3D
        3. Extruding Models with ShapeShifter 3D
        4. Applying Textures in ShapeShifter 3D
      6. Creating Primitives with Lingo
        1. Starting from Scratch
        2. Creating a Box
        3. Creating a Sphere
        4. Creating a Cylinder
        5. Creating a Plane
        6. Assigning Shaders to Primitives
      7. Particle Systems
        1. Particle System Basics
        2. Creating a Simple Fountain
        3. Smoke
        4. Creating a Tornado
        5. Creating Explosions
        6. Modifying an Explosion to Create Fireworks
      8. Modifying Primitive Models with Mesh Deform
      9. Creating Complex Scenes
      10. Troubleshooting
        1. Importing Models Doesn’t Work
        2. Choose the Correct View Before Exporting
        3. Particle System Wind Needs Drag
      11. Did You Know?
    2. 17. Controlling 3D Models
      1. Setting a Model’s Position
        1. Referring to Models
        2. Getting the Model Position
        3. Changing Model Position
        4. Resetting Model Position
        5. World Position
      2. Setting a Model’s Orientation
        1. Getting the Model Orientation
        2. Changing the Model Orientation
      3. Moving and Rotating Models
        1. Using the translate Command
        2. Using the rotate Command
        3. Making the Fish Swim
        4. User-Controlled Movement
        5. Pretranslation and Prerotation
      4. Scaling Models
      5. Duplicating Models
      6. Orienting Objects Using pointAt
      7. Grouping Models
      8. Controlling Animation
      9. Bones and Joints
        1. Adding Joints to Models
        2. Using Joints in Lingo
        3. Joint Demonstration Movie
      10. Troubleshooting
        1. Unable to Clone Models from Another Member
        2. Transformation By Trial and Error
        3. Joints Can Easily Be Twisted
      11. Did You Know?
    3. 18. Implementing 3D User Interaction
      1. Click Tracking
      2. Collision Detection
        1. The Collision Modifier
        2. Casting Rays
          1. Defining the Collision Distance
          2. Monitoring the Direction of Movement
          3. Determining the Starting Point
          4. Detailed Results
          5. Advanced Techniques
      3. Havok Physics Engine
        1. Turning Models into Rigid Bodies
        2. Havok Rigid Body Lingo
        3. Using Havok to Simulate Ballistics
        4. Using Havok to Simulate a Vehicle
        5. Using Havok to Simulate a Rope
      4. Troubleshooting
        1. Havok Not Working in Shockwave
        2. Havok Doesn’t Work Well with Lingo Mesh Objects
        3. Use Realistic Physics Values
      5. Did You Know?
    4. 19. Modifying Shaders, Textures, and Lights
      1. Coloring Models
        1. Assigning a Color to a Model’s Surface
        2. Simple Shader Effects
      2. Applying Textures to Models
        1. Using Bitmap Members at Textures
        2. Tiling Textures
        3. Semitransparent Textures
        4. Layering Textures
        5. Special Texture Modes
        6. Engraver and Newsprint Shaders
        7. Dynamic Textures
      3. Understanding and Using Lights
        1. Examining Lights
        2. Creating New Lights
      4. TroubleShooting
        1. Wireframe in Software Mode
        2. Odd-Sized Textures
        3. Large Textures Cause Problems
      5. Did You Know?
    5. 20. Controlling Camera and Rendering Effects
      1. Moving the Camera
        1. Camera Position
        2. Natural Camera Movement
        3. Complete Camera Movement
        4. Constant Camera Movement
        5. Following an Object
        6. Camera Properties
      2. Multiple Cameras
        1. Creating New Cameras
        2. Showing More Than One Camera
      3. Camera Effects
        1. Fog
        2. Backdrops and Overlays
        3. Dynamic Overlays
      4. Using Special Model Modifiers
        1. Level of Detail
        2. Subdivision Surfaces
        3. Inker
        4. Toon
      5. Optimizing Shockwave 3D
        1. Low-Poly Models
        2. Direct-To-Stage
        3. More Polys Versus More Models
        4. Removing Unused Models
        5. Tweaking Settings
        6. Changing 3D Drivers
        7. Antialiasing
      6. Troubleshooting
        1. Remember to Test with Different Modes
        2. The Need for Speed
      7. Did You Know?
  11. V. Extending Director
    1. 21. Reading and Writing Data Files
      1. FileIO Xtra Basics
      2. Reading Files
      3. Writing Files
      4. Choosing Files
      5. FileIO Utility Handlers
      6. FileIO Commands
      7. File-Related Lingo Properties
        1. getOSDirectory()
        2. Movie and Application Paths
        3. Files in Folder
        4. Determining the Path Delimiter
        5. Using Network Preference Files as an Alternative
      8. Troubleshooting
        1. Writing Files from Shockwave
        2. Reading and Writing Binary Files
        3. Using setPref to Write Files
      9. Did You Know?
    2. 22. Programming Network Communication
      1. Controlling the Web Browser with Lingo
      2. Getting Text over the Internet
      3. Sending Text
        1. Using getNetText to Send Text
        2. Using postNetText to Send Text
      4. Downloading Files
      5. Troubleshooting
        1. Security Alert Appears When Using getNetText
        2. Getting CGI Scripts to Work
      6. Did You Know?
    3. 23. Adding Multiuser Communication
      1. Shockwave Multiuser Server
      2. Setting Up the Multiuser Server
        1. Running the Multiuser Server
        2. Configuring the Server
      3. Using the Multiuser Behaviors
      4. Learning Basic Multiuser Lingo
        1. Creating an Instance of the Xtra
        2. Connecting
        3. Setting the Callback
        4. Sending a Message
        5. Receiving Messages
        6. Command Summary
      5. Creating Your Own Multiuser Application
      6. Using Peer-To-Peer Connections
        1. Creating the Peer-to-Peer Connection for Users
        2. Using Peer-to-Peer to Connect Two Movies
      7. Using the Multiuser Database
        1. Creating a Database Entry
        2. Retrieving the Data
      8. Using User Data Protocol (UDP)
      9. Using Server-Side Lingo
        1. Lingo Outside Director
        2. New Lingo Syntax
        3. Server-Side Script Limits
        4. A Server-Side Script Example
      10. Using the Flash Communication Server
        1. The Differences Between the Servers
        2. Using the Flash Communication Server with Lingo
      11. Troubleshooting
        1. Demo Movies Won’t Work
        2. Firewall Issues
      12. Did You Know?
    4. 24. Building Authoring Tools
      1. Type of Authoring Tools
      2. Score Recording
        1. Writing to the Score
        2. Score Recording Tools
        3. Setting Behaviors and Parameters Through Lingo
      3. Creating MIAW Xtras
      4. Using Behavior Libraries
      5. Troubleshooting
        1. Score Recording Won’t Stick
        2. Score Recording Doesn’t Appear in Score
        3. Leftover MIAW Xtras
      6. Did You Know?
    5. 25. Addressing Accessibility Issues
      1. Understanding Accessibility
      2. Building Accessible Movies
        1. Building a Simple Accessible Presentation
          1. Accessibility Behaviors
          2. Creating the Supporting Sprites
          3. Making Buttons Accessible
          4. Adding Speech
          5. Completing the Movie
      3. Using the Speech Xtra
        1. Speech Functionality
      4. Troubleshooting
        1. Making Sure Accessiblity Is Done Right
        2. Giving the User a Way to Test Accessibility
        3. Speaking Properly
      5. Did You Know?
    6. 26. Using Xtras
      1. What Are Xtras?
      2. Xtras Shipped with Director MX
      3. Using Xtra Lingo
      4. Using Xtras in Shockwave
      5. Third-Party Xtras
        1. Multipurpose Utility Xtras
          1. Buddy API Xtra
          2. DirectOS Xtra
          3. Enhancer Xtra
          4. File Xtra
          5. OSUtil
          6. RavKitchenSink Xtra
          7. System Tools Xtra
        2. Application Control Xtras
          1. MasterApp Xtra
          2. Relaunch Utility
          3. BrowserController 2
          4. RavWare PPViewer Xtra
          5. zOpen, zPrint, and zLaunch
          6. zScript
        3. User Interface Xtras
          1. OSControl Xtra
          2. Border Xtra and BorderPatch
          3. Dialogs Xtra
          4. Popup Xtra
          5. RavWinShaper Xtra
          6. Resolution Xtra
        4. Database Xtras
          1. V12-Database Engine Xtra
          2. Datagrip
          3. EasyBase
          4. FileFlex
          5. Index Xtra and HTML Xtra
          6. TextCruncher Xtra
        5. Input Device Xtras
          1. Direct Communication Xtra
          2. DirectControl
          3. Move Cursor Xtra
          4. RavJoystick Xtra
          5. SetMouse Xtra
        6. Media Xtras
          1. Using Adobe Acrobat PDF Files in Director
          2. XtrAgent
        7. Graphics Xtras
          1. PhotoCaster
          2. AlphaMania
          3. PiMz ImageImport Xtra
          4. AdjustColors
          5. BlurImage
          6. DirectImage Xtra
          7. DirectXport Xtra
          8. RavImageExport Xtra
          9. ShapeShifter 3D
        8. Network Xtras
          1. CDLink
          2. DirectConnection Xtra
          3. DirectEmail Xtra
          4. DirectFTP Xtra
          5. WebXtra
        9. Development Xtras
          1. Autocomplete Xtra
          2. Speller, SpellerPro, and SpellerRT2
          3. Gamma Xtra
        10. Sound and Music Xtras
          1. Audio Xtra
          2. Beatnik Xtra
          3. CD Pro Xtra
          4. bkMixer
          5. VolumeController Xtra
          6. DirectSound Xtra
          7. Promix Xtra
        11. Printing Xtras
          1. mPrint Designer Xtra
          2. Print-O-Matic
        12. Transition Xtras
          1. DirectTransitions/DirectTransitions 3D Xtras
          2. DM Tools
        13. Video Xtras
          1. MPEG Advance Xtra
          2. TrackThemColors Xtra
          3. Video Mask
          4. OnStage
          5. Streaming Media Xtra
          6. VCap, VideoSprite, and VSnap Xtras
        14. Other Xtras
          1. BinaryIO Xtra
          2. ChartsInMotion and TableMaker Xtra
          3. Installed Fonts Xtra
          4. Ncrypt Xtra
          5. RavWare GLU32 Xtra
          6. Propsave
      6. Troubleshooting
        1. Remember to Include Cross-Platform Files
        2. Duplicate Xtra Error
      7. Did You Know?
  12. VI. Production Process
    1. 27. Error Handling and Debugging
      1. Writing Good Code
        1. Commenting Your Code
          1. Block Comments
          2. Comment Lines
          3. Short Line Comments
        2. Using Descriptive Names
          1. Using Multiple Word Names
          2. Using First-Letter Conventions
          3. Using Descriptive Member Names
          4. Using Variable Constants
          5. Member Comments
        3. Writing Error-Proof Code
          1. Bug-Free FileIO Code
          2. Bug-Free Shockwave Code
          3. Shockwave Audio Error Lingo
          4. Flash Error Lingo
        4. Error-Handling Lingo
      2. Using Lingo Debugging Tools
        1. Using the Debugger
        2. Using the Object Inspector
        3. Using the Message Panel for Debugging
        4. Using Trace
        5. Using Other Debugging Methods
      3. Testing Your Code
        1. Test Early and Often
        2. Testing In-House
        3. Beta Testing
      4. Did You Know?
    2. 28. Creating Applications
      1. Creating a Standalone Projector
      2. Stub Projectors
      3. Building CD-ROMs and DVDs
      4. Making Installers
      5. Building Screensavers
      6. Troubleshooting
        1. Some Computers Can’t Read CD-ROMs and DVDs
        2. Projector Doesn’t Work on Client’s Computer
      7. Did You Know?
    3. 29. Publishing Shockwave Movies
      1. Publish as Shockwave
        1. Using the Publish Command
        2. The Formats Tab
        3. The General Tab
        4. The Shockwave Tab
        5. The Compression Tab
        6. The Shockwave Save Tab
        7. Publishing
      2. Working with Shockwave HTML Tags
        1. Netscape Navigator <EMBED> Tag
        2. Microsoft Internet Explorer <OBJECT> Tag
        3. Using Both the <EMBED> and <OBJECT> Tags
      3. Troubleshooting
        1. Shockwave Movie Not Appearing in Some Browsers
        2. Cache Settings and Testing
        3. EMBED Tag Needs To Be Inside OBJECT Tag
      4. Did You Know?
    4. 30. Addressing Performance and Cross-Platform Issues
      1. The Importance of Performance
      2. Designing for a Target Machine
        1. Compromise
        2. Sample Requirements
        3. Screen Size
        4. 3D Requirements
          1. Hardware
          2. Software
      3. Recognizing Issues Affecting Performance
        1. Hardware Considerations
          1. Processor
          2. RAM
          3. Virtual Memory
          4. Disk Speed
          5. CD-ROM Speed
          6. Bus Speed
          7. Video Cards
          8. Sound Cards
          9. Speakers
        2. Software Considerations
          1. Operating System
          2. Extensions
          3. Drivers
          4. Display Settings
          5. Network Activity
          6. Browsers
        3. Network Considerations
          1. Modems
          2. The Internet
          3. Servers
      4. Improving Performance
        1. Member Loading
        2. Memory Information
        3. Shockwave File Size and Streaming
        4. Streaming Movies
        5. Compensating with Alternatives
        6. Trimming Media
          1. Bitmaps
          2. Sounds
          3. Video
        7. Cutting Out Unused Media
      5. Optimizing Projector Performance
      6. Optimizing Lingo Performance
      7. Mac and Windows Cross-Platform Issues
        1. Fonts
          1. The Font Map
          2. Text Member Bitmaps
        2. Display Brightness
        3. Digital Video
        4. File Pathnames
        5. Non–Cross-Platform Lingo
      8. Browser Cross-Platform Issues
      9. The Cross-Platform Checklist
      10. Did You Know?
  13. VII. Appendixes
    1. A. What’s on the CD-ROM
      1. Book Source Files
      2. Bonus Chapters
        1. Chapter 31—Educational Applications
        2. Chapter 32—Business Applications
        3. Chapter 33—Graphics Applications
        4. Chapter 34—Sound Applications
        5. Chapter 35—Shockwave Applets
        6. Chapter 36—Games
        7. Chapter 37—Miscellaneous Topics
        8. Chapter 38—Complete Lingo Reference
      3. Software Applications, Xtras, and Goodies
    2. B. Glossary
    3. C. Online Resources
      1. Top Resources
        1. Director Online Users Group (DOUG)
        2. Director Web
        3. Macromedia
        4. Developer Dispatch
        5. Direct-L
        6. DirectOregon
        7. MediaMacros
        8. MultiMedia Help
      2. General Director Resources
      3. Non-English Director Resources
      4. Director-Related Mailing Lists
      5. 3D-Related Resources
      6. Major Xtra Developers and Distributors
  14. Lingo Quick Reference
  15. Inside Back Cover