| Welcome to the class | p. 1 |
| What is Flash MX? | p. 1 |
| What is ActionScript? | p. 1 |
| The virtual classroom | p. 2 |
| Meet your teacher | p. 2 |
| Meet your classmates | p. 2 |
| Conventions | p. 3 |
| Support--we're here to help | p. 4 |
| Meet the students | p. 5 |
| Objectives | p. 5 |
| Introduction | p. 6 |
| What is Flash? | p. 14 |
| Introducing Flash | p. 19 |
| The stage | p. 22 |
| The toolbar | p. 23 |
| The Property inspector | p. 24 |
| The timeline | p. 25 |
| Frames and keyframes | p. 25 |
| Various panels | p. 29 |
| Tools | p. 30 |
| The Arrow tool | p. 32 |
| The Text tool | p. 38 |
| The Kiosk Project | p. 41 |
| Objectives | p. 41 |
| Introduction | p. 41 |
| The Kiosk project | p. 42 |
| Accepting the project | p. 43 |
| The project life cycle | p. 47 |
| The requirements document | p. 51 |
| Breaking down the requirements | p. 57 |
| Interface design | p. 66 |
| Programming Concepts | p. 75 |
| Objectives | p. 75 |
| Introduction | p. 76 |
| What's a program? | p. 76 |
| The Actions panel | p. 78 |
| What does a program look like? | p. 82 |
| Variables | p. 85 |
| Naming variables | p. 86 |
| Creating variables | p. 88 |
| Tracing variables | p. 91 |
| Different types of data | p. 96 |
| Copying variables | p. 98 |
| Operators and expressions | p. 100 |
| Operator precedence | p. 107 |
| Advanced tracing | p. 110 |
| The case study | p. 113 |
| Symbols and Objects | p. 119 |
| Objectives | p. 119 |
| Introduction | p. 119 |
| Symbols | p. 119 |
| Creating a symbol | p. 120 |
| Symbol types | p. 124 |
| Movie clip symbols | p. 125 |
| The graphic symbol | p. 128 |
| The button symbol | p. 129 |
| Instance names and objects | p. 132 |
| Giving an instance a name | p. 133 |
| Object Properties | p. 138 |
| Methods | p. 141 |
| Interaction | p. 147 |
| Objectives | p. 147 |
| Introduction | p. 147 |
| Events | p. 148 |
| Event Types | p. 149 |
| Timed events | p. 150 |
| Button Events | p. 151 |
| Events in ActionScript | p. 156 |
| Thumbnail events | p. 161 |
| Screen Coordinates | p. 162 |
| The _x and _y properties | p. 164 |
| Incrementing or decrementing a variable or property | p. 171 |
| Attaching instances from the Library | p. 172 |
| Programming Structures | p. 179 |
| Objectives | p. 179 |
| Introduction | p. 179 |
| If | p. 179 |
| Conditionals | p. 181 |
| Comparison and logical operators | p. 183 |
| Back in the classroom | p. 192 |
| Switch, case, and break | p. 193 |
| Loop Structures | p. 198 |
| While and do... while loops | p. 204 |
| Dynamic paths | p. 207 |
| Nested loops | p. 209 |
| Starting the Kiosk Project | p. 213 |
| Objectives | p. 213 |
| Introduction | p. 214 |
| Text Fields | p. 215 |
| Text field properties | p. 217 |
| Input text field properties | p. 218 |
| Dynamic text field properties | p. 221 |
| Using the TextField object in ActionScript | p. 223 |
| Building the kiosk project | p. 231 |
| Tabs | p. 233 |
| The swapDepths method | p. 235 |
| Working with the grid | p. 239 |
| Making the About and Contact pages | p. 247 |
| Arrays | p. 253 |
| Objectives | p. 253 |
| Introduction | p. 253 |
| What is an array? | p. 254 |
| Making arrays | p. 255 |
| Looking inside arrays | p. 257 |
| Other ways to make arrays | p. 258 |
| Array methods | p. 260 |
| Popping and pushing | p. 260 |
| Shifting and unshifting | p. 262 |
| Slicing and splicing | p. 263 |
| Simple sorting | p. 266 |
| Multi-dimensional arrays | p. 267 |
| Parsing arrays | p. 269 |
| Importing images | p. 274 |
| Building the case study | p. 279 |
| Functions | p. 285 |
| Objectives | p. 285 |
| Introduction | p. 285 |
| Using functions | p. 286 |
| Functions with parameters | p. 290 |
| Returning values from a function | p. 292 |
| Case Study | p. 296 |
| Image Preparations | p. 296 |
| The drawGrid function | p. 299 |
| Programming events for the thumbnails | p. 303 |
| Tooltips | p. 304 |
| The Statistics Report | p. 317 |
| Objectives | p. 317 |
| Introduction | p. 318 |
| Keyboard listeners | p. 318 |
| Creating a login box | p. 321 |
| Creating the statistics screen | p. 329 |
| Creating the hitArray | p. 333 |
| Adding the text fields | p. 341 |
| The getStats function | p. 342 |
| Data sorting | p. 346 |
| Components | p. 346 |
| The reSort function | p. 351 |
| The final buttons | p. 356 |
| Finishing the Kiosk Project | p. 359 |
| Objectives | p. 359 |
| Introduction | p. 360 |
| Timed Events | p. 361 |
| Displaying an image on category change | p. 366 |
| Working with projector files | p. 371 |
| Preparing code for two different presentation versions | p. 374 |
| FSCommands | p. 377 |
| Publishing the Flash movie | p. 382 |
| Publishing the projector files | p. 385 |
| Coding conventions | p. 387 |
| Modifying the Case Study | p. 393 |
| Objectives | p. 393 |
| The end of the road | p. 393 |
| The cosmetically enhanced case study | p. 394 |
| The individual case studies | p. 398 |
| Carl: Sound in Flash | p. 398 |
| Dynamically loading MP3 files | p. 407 |
| Jim: Video in Flash | p. 410 |
| Gemma: Web considerations | p. 414 |
| The fun stuff | p. 420 |
| Drawing with ActionScript | p. 421 |
| Adigital clock | p. 425 |
| Easing and dragging | p. 427 |
| Changing color | p. 431 |
| Class 1 Handout: Flash Tools | p. 435 |
| Tools reference | p. 435 |
| The Arrow tool | p. 436 |
| The Subselection tool | p. 437 |
| The Line tool | p. 438 |
| The Lasso tool | p. 438 |
| The Pen tool | p. 439 |
| The Text tool | p. 440 |
| The Oval tool | p. 440 |
| The Rectangle tool | p. 440 |
| The Pencil tool | p. 441 |
| The Brush tool | p. 441 |
| The Free Transform tool | p. 442 |
| The Fill Transform tool | p. 442 |
| Linear gradients | p. 443 |
| Radial gradients | p. 443 |
| The Ink Bottle tool | p. 444 |
| The Paint Bucket tool | p. 444 |
| The Eyedropper tool | p. 446 |
| The Eraser tool | p. 446 |
| The Faucet tool | p. 446 |
| Brush types | p. 446 |
| View tools | p. 447 |
| The Hand tool | p. 447 |
| The Zoom tool | p. 447 |
| Class 1 Handout: Shape Tweening | p. 449 |
| ASCII and Key codes | p. 455 |
| ASCII Chart | p. 455 |
| Key codes | p. 456 |
| Special Key Codes | p. 458 |
| Index | p. 459 |
| Table of Contents provided by Ingram. All Rights Reserved. |