Features & Benefits
--------------------------------------------------------------------------------
Describes concepts and techniques of interactivity applicable to technologies beyond QuickTime--including Flash.
Features real-world, hands-on projects of progressive sophistication allowing developers to start with a project appropriate to their own level of QuickTime experience.
A companion CD-ROM contains the book's source code, tutorials, and demo software, including a demo version of Live Stage Pro (with a discount offer for the full version).
Reviews
--------------------------------------------------------------------------------
'Matthew Peterson, one of the world's most innovative minds, infuses Interactive QuickTime with applicable insight and helpful humor. This book goes well beyond the basics, far into the best practices, with plenty of supporting scripts and sample projects. Covering a wide spectrum of topics, Interactive QuickTime: Authoring Wired Media addresses the building of UIs, repurposing already existing media, using physics for richer motion, and that's just getting started. The appendices along with the exploration of XML in QuickTime are indispensable resources for the active producer of QuickTime media. I am excited to have this resource available for QuickTime authors!'
--Michael Shaff, founder of Small Hands
'This book belongs on the shelf of anyone who takes multimedia development seriously. For the aspiring QuickTime media developer, it addresses the most critical authoring issues--and the techniques described are clever and applicable to multimedia development of any ilk.'
--Ken Loge, Oregon Research Institute
'You are holding a book written by one the smartest people I have ever met--and it has been my pleasure to know some VERY smart people--a book about one of the most exciting technologies on the planet. The writing is clear and enjoyable. It starts with material suitable for beginners and proceeds steadily through intermediate, advanced, and into previously uncharted territory . . . . It's a trip, my friend. And one worth taking . . . Be warned: this is not an ordinary book. It can literally change your life.'
--from the foreword by Steven Gulie, author of QuickTime for the Web
Description
back to top
--------------------------------------------------------------------------------
Interactivity is one of the most captivating topics for today's online community. It is a fast-growing field pushed by the rapid development and dispersion of Java, Shockwave, Flash, and QuickTime. While several good books are available about the interactive capabilities of Java, Shockwave, and Flash, until now there hasn't been a book about QuickTime interactivity. A logical follow-up to QuickTime for the Web, this eagerly awaited book by Matthew Peterson details the power of QuickTime's wired media technology and provides a resource for professionals developing and deploying interactive QuickTime content. This content can extend far beyond simple movies--it can act as application user interfaces, educational multimedia, scientific display panels, musical instruments, games and puzzles, etc., and can interact with you, your browser, a server, or with other movies.
ack to top
--------------------------------------------------------------------------------
Foreword by Steven Gulie
Preface
What This Book Is and Is Not
How to Read This Book
Explorations
Acknowledgements
Part I Background Information
Chapter 1 What Is Interactive QuickTime?
Explorations
Chapter 2 How Do You Play an Interactive Movie?
Explorations
Chapter 3 The Stuff QuickTime Is Made Of
What Are Atoms
Tracks
Samples
Sprite Track Samples
Sprites
Scripts
How to Make Interactive Sprite Tracks
Explorations
Part II Wiring Existing Movies
Chapter 4 Getting Familiar with the Tools
Explorations
Chapter 5 Customizing the Presentation of an Existing Movie
Explorations
Chapter 6 Digital Rights Management
Explorations
Chapter 7 Adding DVD Features
Explorations
Part III Sprite Worlds
Chapter 8 A Simple World
Explorations
Chapter 9 Talking with Sprites
Targets
Properties
Actions
Custom Actions
Custom Properties
Rotation Behavior
Explorations
Chapter 10 Collision Detection
Bounds Overlap
Radius Overlap
Point Testing
Explorations
Chapter 11 Cel-Based Animation
Picasso
Interactive Door
Looping Images
Inchworm Technique
Onionskinning
Coordinated Animation
Cel-Based Pushing
Cel-Based Dragging
Explorations
Chapter 12 User Interaction
Pop Quiz
Mouse Event Definitions
Checkbox
Mouse Hit Testing
Mouse Enter and Mouse Exit
Mouse Moved
Drag Manager
Double Clicks
Focus
Key Events
Keyboard Managers
Click Anywhere Keyboard Manager
Key Polling Manager
Explorations
Answers to Quiz
Chapter 13 Scripted Motion
Linear Interpolation
Easing In and Out
Motion along a Mathematical Function
Circular Motion
Paths
Spline Interpolation
Explorations
Chapter 14 Scripted Stretching
Bar Graphs
Drawing Lines
Perspective
Explorations
Chapter 15 Cloning Sprites
Making New Sprites
Cloning Sprites with Behavior
Disposing of Sprites
Explorations
Chapter 16 Modeling Physics
Forces
Friction
Collisions
Explorations
Part IV User Interfaces
Chapter 17 Buttons
Simple Buttons
Checkboxes
Components
Radio Buttons
Explorations
Chapter 18 Sliders
Explorations
Chapter 19 Text Input
Filtering the Input
Text Field Component with Border
Recursive Connections
Multilined Text Areas
Password Fields
Explorations
Chapter 20 Menus
Explorations
Part V Multimedia
Chapter 21 Audio and Video
Audio
Video
Loading Linear Media
Explorations
Chapter 22 Effects
Codec Effects
Explorations
Chapter 23 Image Overrides
Explorations
Chapter 24 MIDI Instruments
SoundFonts
Sampled Instruments
Explorations
Chapter 25 Text Tracks
Scrolling Ticker Tape
LCD Clock
Text Links (Hotspots)
Searching Text Captions
Explorations
Chapter 26 Flash Tracks
Controlling QuickTime from a Flash Button
Controlling a Flash Button from QuickTime
Controlling Flash Movie Properties
Explorations
Chapter 27 QTVR
Controlling VR
Multinodes, Hotspots, Cubics, and Maps
Explorations
Chapter 28 MovieTracks
Explorations
Chapter 29 Third-Party Tracks
Explorations
Chapter 30 Other Tracks
Video Tracks in Disguise
Text Tracks in Disguise
Timecode Tracks
Modifier and Tween Tracks
QuickDraw 3D Track
Streaming Tracks
Hint Tracks
PDF Tracks
Fast Tracks (FT)
Cursor Tracks
WorldWideVariables Tracks
Base Tracks
Explorations
Part VI Communicating with the World
Chapter 31 XML and QTLists
QTLists versus XML
Working with QTLists
Explorations
Chapter 32 Loading Data
Explorations
Chapter 33 Setting Up a QTList Server
About Tekadence Magik
Setting Up the Test Server
Explorations
Chapter 34 Sending Data to a Server
Launch the Server
Explorations
Chapter 35 Exchanging QTLists
Explorations
Chapter 36 Communicating with the Browser
Passing Data into a Movie
Explorations
Chapter 37 Dynamic Media
Explorations
Chapter 38 Intermovie Communication
IsMovieActive
Explorations
Chapter 39 Communicating with Applications
Explorations
Appendices
Appendix A Useful Numbers
Appendix B Math Functions
Appendix C String Functions
Appendix D QTList Functions
Appendix E Programming Techniques
Spatial Programming
Breaking a Loop
Exception Handling and Error Detection
Functions, Methods, and Subroutines
Calling Functions across Tracks and Movies
Recursion
Numerical Correction
Floating-Point Precision
Dividing by Zero (Epsilon Correction)
Random Number Generation
Custom Random Generator
Dictionaries and Lists
Debugging
DebugStr
Profiling
Lazy Constructors
Parallel Processing
Sustainable Hacking
Dynamic Script Evaluation
Collaboration
Appendix F Sprite and Track Geometry
Coordinate System
Spatial Properties
Distance between Two Tracks
2.5 Dimensions
Screen Updates
Matrix Transformations
Area of Sprites
Sprite Center
Two Points
A Point and a Line
Two Lines
Regular Polygons
Triangles
Circles
Spheres
Appendix G Graphics Modes
Appendix H Codecs
Appendix I General MIDI
Instruments
Drum Kits
Controllers
Appendix J Components
Appendix K QTText Tags
Appendix L HTML Embed Parameters
Embed Attributes
Appendix M Wired Actions
Appendix N Wired Constants
Appendix O ASCII Table
Appendix P Wired Sprites with Java
Appendix Q Web Links
Appendix R Contributing Developers
Appendix S CD Contents
Glossary
Index
About the Author
QuickTime Developer Series