Interactive Movies
PDF
Introduction
QuickTime Interactivity
QuickTime Basics
Movies and Media Data Structures
Movies––A Few Good Concepts
Time Management
The QuickTime Architecture
The Movie Toolbox
The Image Compression Manager
QuickTime Components
The Component Manager
Atoms
QuickTime Player
Sprites and Sprite Animation
Creating Desktop Sprites
Wired Movies
Adding Actions
Wired Actions
User Events
Using Flash and QuickTime
QuickTime Media Skins
SMIL
QuickTime VR
The QuickTime VR Media Type
Creating QTVR Movies Programmatically
QuickTime Sprites, Sprite Animation and Wired Movies
Sprite Animation and the Sprite Toolbox
Sprites and the Sprite Toolbox
Sprite World Characteristics
Sprite Tracks
Sprite Animation
Sprite Spatial Concepts
Local Coordinate System
Source Box
Bounding Box
Four Corners
Registration Point
Display Space
Sprite Properties
Wired Movies
Adding Actions
QuickTime Events
Actions and Their Targets
Action Parameters
Expressions
Operators
Operands
External Movie Targets for Wired Actions
Sprite Media Handler
Defining the Sprite Media Handler
Key Frame Samples and Override Samples
Sprite Track Media Format
Assigning Group IDs
Sprite Image Registration
Sprite Track Properties
Alternate Sources for Sprite Image Data
Supported Modifier Inputs
Hit-Testing Flags
Using Sprites in a Sprite Track
Referenced Sprite Images
Specifying Sprite Button Behaviors
Using the Action Handler Sprite Property
String Variable Support
Creating a QuickTime Sprite Movie
Useful Sprite Media Handler Functions
SpriteMediaSetSpriteProperty
SpriteMediaGetSpriteProperty
SpriteMediaHitTestAllSprites
SpriteMediaCountSprites
SpriteMediaCountImages
SpriteMediaGetIndImageDescription
SpriteMediaGetDisplayedSampleNumber
SpriteMediaGetSpriteName
SpriteMediaGetImageName
SpriteMediaHitTestOneSprite
SpriteMediaSpriteIndexToID
SpriteMediaSpriteIDToIndex
SpriteMediaGetIndImageProperty
Sprites Functions Specific to Wired Sprites
SpriteMediaSetActionVariable
SpriteMediaGetActionVariable
SpriteDescription Structure
Wired Actions in QuickTime
New Wired Actions
New Wired Operands
Authoring Wired Movies and Sprite Animations
Authoring Movies With the Sprite Media Handler
Defining a Key Frame Sample
Creating the Movie, Sprite Track, and Media
Adding Images to the Key Frame Sample
Adding More Images for Other Sprites
Adding Sprites to the Key Frame Sample
Adding More Actions to Other Sprites
Adding Sample Data in Compressed Form
Defining Override Samples
Setting Properties of the Sprite Track
Retrieving Sprite Data From a Modifier Track
Authoring Wired Movies
Actions of the First Penguin
Actions of the Second Penguin
Creating a Wired Sprite Movie
Assigning the No Controller to the Movie
Setting Up the Sprite Track’s Properities
Adding an Event Handler to the Penguin
Adding a Series of Actions to the Penguins
Important Things to Note in the Sample Code
Authoring Movies With External Movie Targets
Specifying an External Movie Target for an Action
Target Atoms for Embedded Movies
Supporting External Movie Targets
Specifying String Parameters to Actions and Operands
Wiring a Movie by Adding an HREF Track
Creating an HREF Track
Adding Hypertext Links to a QuickTime Movie With a Text Track
Step #1––Creating a Movie With a Text Track and Hypertext Links
Step #2––Creating a New Text Movie
Step #3––Adding a Text Sample to the Movie
Step #4––Adding a Hypertext Link
Step #5––Adding a Specified Atom Container
Step #6––Getting the First Media Sample
Step #7––Adding Hypertext Actions
Step #8––Replacing the Sample
Step #9––Updating the Movie Resource
Using the Sprite Toolbox to Create Sprite Animations
Overview of Sprite Toolbox
How To Add Sprite-Based Animations to an Application
Creating and Initializing a Sprite World
Creating and Initializing Sprites
Creating Sprites for a Sample Application
Animating Sprites
Disposing of a Sprite Animation
Sprite Hit-Testing
Hit-Testing Flags
Enhancing Sprite Animation Performance
Constants and Functions in the Sprite Toolbox
Constants
Background Sprites
Flags for Sprite Hit-Testing
Sprite Properties
Flags for SpriteWorldIdle
Sprite and Sprite World Identifiers
Useful Sprite Toolbox Functions
NewSpriteWorld
DisposeSpriteWorld
SetSpriteWorldClip
SetSpriteWorldMatrix
SpriteWorldIdle
InvalidateSpriteWorld
SpriteWorldHitTest
DisposeAllSprites
NewSprite
DisposeSprite
InvalidateSprite
SpriteHitTest
GetSpriteProperty
SetSpriteProperty
Flash Media Handler
Flash Media
Flash Support in QuickTime
Wired Actions and Operands
kActionFlashTrackSetFlashVariable
kActionFlashTrackDoButtonActions
kOperandFlashTrackVariable
QT Events
Importing a Flash Movie
Adding Wired Actions To a Flash Track
Extending the SWF Format
What You Need to Modify
File Length
ActionRecordsOffset
ActionOffset
Condition
Actions
DoAction
Creating Advanced Interactive Movies
Embedded Movies
Creating New Types of QuickTime Movies
Using Embedded Movies
Dynamically Loading Embedded Movies From URLs
Triggering Wired Actions When an Embedded Movie is Loaded
Targeting Elements of Embedded Movies with All Wired Actions
Target Type Atoms for Hierarchical Movies
Example #1
Example #2
Movie Track and Movie Wired Actions
Movie Controller Actions
Wired QT Event
Extended Wired Operand Functionality
Wired Actions and JavaScript
Movie Property Atom Toolbox Routines
Custom Wired Actions
Custom Action Handler Usage
Authoring Custom Wired Actions
Extension to Wired Movie Format: Executing Custom Actions
Wired Actions
Wired Operands
Writing a Custom Action Handler Component
The Action Being Executed
Fetching the Parameters
QuickTime Atoms and Atom Containers
QT Atom Containers
Creating, Copying, and Disposing of Atom Containers
Creating New Atoms
Copying Existing Atoms
Retrieving Atoms From an Atom Container
Modifying Atoms
Removing Atoms From an Atom Container
QuickTime and SMIL
Introduction to SMIL
Importing SMIL Documents
Building Customized Presentations
Movie Tracks
Getting Started With SMIL
Overview
SMIL Structure
Layout
Root Layout
Regions
The Body
Combining Sequences and Parallel Groups
SMIL Media Elements
Region
Duration
Begin and End
Clickable Links
Throwing a Switch
Using SMIL in QuickTime
Creating QuickTime-Friendly SMIL Documents
Examples
Special Media Types
Text
VR
HTML
QuickTime SMIL Extensions
New SMIL Extensions Added in QuickTime
Embedding SMIL Documents in a Web Page
Using QTSRC
Saving a SMIL Document as a .mov File
QuickTime Media Links XML Importer
Making a Fast Start Reference Movie
Targeting QuickTime Player
SMIL Support in QuickTime
SMIL Usage
A Simple Sequence
A Sequence with HREF, Region and Background Text
QuickTime SMIL Extensions in Detail
Namespace Specification
SMIL Root Element Attributes
Media Object Attributes
Anchor-Tag and A-Tag Attributes
Movie Media Track
Movie Media Track Usage
Movie Media Handler
Movie Sample Description
Movie Media Sample Format
References
Appendix A: QTWiredSprite.c Sample Code
Bibliography
QuickTime Programming Books in PDF
The QuickTime Developer Series
Inside Macintosh
Some Useful QuickTime Websites