FOUNDATION ACTIONSCRIPT FOR FLASH 8
CHAPTER 1 INTERACTIVE FLASH GIVING YOUR MOVIES INSTRUCTIONS WORKING WITH THE ACTIONS PANEL DIRECT TYPING WHO ARE YOU TALKING TO? CONTROLLING MOVIE CLIPS ON THE STAGE ARGUMENTS LISTENING TO WHAT YOUR MOVIES ARE TELLING YOU EVENTS IN FLASH EXTERNAL EVENTS INTERNAL EVENTS INTRODUCING EVENT HANDLERS NESTING SPIDERS—ARGH! ANIMATING MOVIE CLIPS WITH ACTIONSCRIPT SUMMARY CHAPTER 2 MAKING PLANS DEFINING THE PROBLEM KEEP YOUR IDEAS IN A SAFER PLACE THAN YOUR HEAD STORYBOARDING BUILDING YOUR ACTIONSCRIPT THINKING FROM THE TOP DOWN THINKING FROM THE BOTTOM UP FLOWCHARTING BOOK PROJECT: INTRODUCING THE FUTUREMEDIA SITE SOLVING PROBLEM 1 SOLVING PROBLEM 2 SOLVING PROBLEMS 3 AND 4 PARTING SHOTS CONTENTS CHAPTER 3 MOVIES THAT REMEMBER INTRODUCING VARIABLES VALUES AND TYPES CREATING VARIABLES AND USING THEM WITH LITERALS AND EXPRESSIONS NAMING VARIABLES CREATING VARIABLES USING LITERAL VALUES USING EXPRESSIONS INPUT AND OUTPUT USING STRING EXPRESSIONS WORKING WITH NUMBERS OTHER USES FOR NUMERIC EXPRESSIONS WORKING WITH BOOLEAN VALUES LOGIC OPERATORS ARRAYS REASONS FOR USING ARRAYS ARRAYS LET YOU STORE RELATED INFORMATION TOGETHER ARRAYS LET YOU HOLD INFORMATION IN A SPECIFIC ORDER ARRAYS LET YOU INDEX INFORMATION ARRAYS LET YOU LINK INFORMATION CREATING A NEW ARRAY TYPING AN ARRAY USING VARIABLE VALUES AS OFFSETS BOOK PROJECT: STARTING THE FUTUREMEDIA SITE DESIGN WHAT YOU’RE GOING TO DO WHAT YOU’RE GOING TO LEARN CHOOSING AND SETTING THE STAGE SIZE SETTING UP THE TIMELINE CREATING LAYOUT GUIDES ADDING THE POSITION AND STATUS TEXT CHOOSING A FONT ADDING THE TEXT EMBEDDING THE FONT CHAPTER 4 MOVIES THAT DECIDE FOR THEMSELVES DECISION MAKING MAKING DECISIONS IN ACTIONSCRIPT: THE IF ACTION DEFINING A DECISION ALTERNATIVE ACTIONS ACTING ON ALTERNATIVES: THE ELSE ACTION MORE THAN ONE ALTERNATIVE: THE ELSE IF ACTION HANDLING LOTS OF ALTERNATIVES: THE SWITCH ACTION SWITCHING WITHOUT BREAKS ORGANIZING YOUR CODE IN THE CORRECT ORDER CHAPTER 5 MORE POWER, LESS SCRIPT TIMELINE LOOPS ACTIONSCRIPT LOOPS WHILE LOOPS USEFUL THINGS TO DO WITH WHILE LOOPS FOR LOOPS INIT CONDITION NEXT SOME USEFUL EXAMPLES OF FOR LOOPS SIMPLE LOOP REVERSE LOOP TWO AT A TIME LOOPING THROUGH ELEMENTS IN AN ARRAY APPLYING AN OPERATION TO ALL THE ELEMENTS IN AN ARRAY SEARCHING AN ARRAY FOR A SPECIFIC VALUE CROSS-INDEXING A PAIR OF ARRAYS HANGMAN BOOK PROJECT: CREATING THE STATIC GRAPHICS SETTING UP THE TIMELINE LAYERS FOR YOUR GRAPHICS CREATING THE BACK STRIP ADDING STRUCTURE TO THE LIBRARY CREATING THE FRAME CUTOUT REVEALING THE FRAME CUTOUT AND FINISHING THE FLA CHAPTER 6 MOVIES THAT REMEMBER HOW TO DO THINGS BREAKING DOWN A TASK BUNDLING ACTIONS AND RUNNING THEM AFTERWARD USING ANONYMOUS AND NAMED FUNCTIONS USING FUNCTIONS TO HIDE EVIL MATH USING FUNCTIONS TO TAKE CARE OF REPETITIVE JOBS CHOOSING WHICH ACTIONS TO BUNDLE AND WHERE ARGUMENTS AND REDUNDANCY LOCAL VARIABLES AND MODULAR CODE RETURNING VALUES FROM A FUNCTION TYPING FUNCTIONS RUNNING IN CIRCLES NESTING FUNCTIONS USING NESTED FUNCTIONS USING MORE FUNCTION NESTING TO TIDY UP YOUR SCRIPT BOOK PROJECT: CREATING THE DYNAMIC GRAPHICS CHAPTER 7 OBJECTS AND CLASSES INTRODUCING OBJECTS AND CLASSES TYPE AND OBJECT-ORIENTED PROGRAMMING CLASSES, GENERALIZATION, AND ABSTRACTION SEEING ARRAYS IN A NEW LIGHT THE ARRAY CONSTRUCTOR METHOD OTHER ARRAY METHODS ARRAY PROPERTIES CREATING CLASSES AND OBJECTS (INSTANCES) IN FLASH INSTANCES THE OBJECT OBJECT VIEWING AN OBJECT IN FLASH CONSTRUCTORS OBJECTS, OBJECTS, EVERYWHERE LURKING OBJECTS MAKING A SHOW REEL BOOK PROJECT: INITIALIZING THE CODE GETTING YOURSELF COMFORTABLE INITIALIZING THE SITE VARIABLES TELLING ACTIONSCRIPT ABOUT THE STAGE SANITY CHECK SETTING UP YOUR TRICOLOR COLORS FINAL WORDS CHAPTER 8 OBJECTS ON THE STAGE MOVIE CLIPS AND BUTTONS AS OBJECTS SYMBOL TYPES AND BEHAVIORS TWO SIDES OF THE SAME OBJECT WORKING WITH LIBRARY ITEMS LET CHAOS REIGN BITMAP CACHING THE OTHER SIDE OF BITMAP CACHING BITMAP CACHING AND RAM CHANGING THE APPEARANCE OF A CACHED MOVIE CLIP WHEN TO USE BITMAP CACHING REFERENCING DIFFERENT TIMELINES WITH ACTIONSCRIPT DIFFERENT PLACE, DIFFERENT VARIABLE LOCATING VARIABLES FROM INSIDE AN EVENT HANDLER FUNCTION REUSING HANDLER FUNCTIONS THE APPLY METHOD GLOBAL VARIABLES CHAPTER 9 REUSABLE CODE AND REALISTIC MOVEMENT BREAKING DOWN BIG TASKS INTO SMALLER ONES BLACK-BOX PROGRAMMING CREATING SIMPLE COMPONENTS CREATING A MODULAR SET OF PLAYBACK CONTROLS DARK VALENTINE MODULAR CONTROL OF MOVIE CLIPS HOW TO SIMULATE REALISTIC MOVEMENT MOTION WITH ACCELERATION TRAILING THE POINTER (A MOUSE FOLLOWER) UNDERSTANDING THE INERTIAL CODE FINE-TUNING THE COMPONENT FUNCTION-BASED MODULAR CODE SWARMING BEHAVIOR TAKING THE SWARMING EFFECT FORWARD CREATING TWEENS WITH ACTIONSCRIPT USING IMPORT TO ACCESS THE TWEEN CLASS HOW TO USE THE TWEEN CONSTRUCTOR FUNCTION UNDERSTANDING THE TRANSITION TYPES BOOK PROJECT: SETTING UP THE COLOR TRANSITION MAKING IT MODULAR SANITY CHECK #1 SANITY CHECK #2 RUNNING THE FLA: THE RESULTS CHAPTER 10 GAMES AND SPRITES WHAT IS A SPRITE? CONTROL EXTERNAL AND INTERNAL DATA MOVEMENT COLLISION PLANNING ZAPPER THE GAME WORLD (THE MAIN TIMELINE) GSCREEN_TOP, GSCREEN_BOTTOM, GSCREEN_RIGHT, AND GSCREEN_LEFT SCORE LEVEL, SKILL, AND ACCEL SPEED SHIPDEAD, FIRED, AND GSHIP_HEIGHT THE TIMELINE THE CODE GLOBAL CONSTANTS THE “START GAME” TRIGGER THE PLAYER (THE SHIP) THE SWARMALIEN ALIENSPAWN() ONENTERFRAME ALIENBRAIN() ALIENREINCARNATE() THE SWARMALIEN CODE THE BULLET THE DEBRIS OF WAR BOOK PROJECT: NAVIGATION EVENT HANDLING ADDING THE BASIC UI ANIMATION NAVIGATE() AND POSTRANSITION() ADDING TYPING CREATING A SMOOTH TRANSITION CHAPTER 11 DRAWING API TURTLE GRAPHICS DRAWING LINES DRAWING CURVES HOW THE SKETCHING CODE WORKS FILLING SHAPES CREATING A KALEIDOSCOPE KALEIDOSCOPE MATH BUILDING THE KALEIDOSCOPE ENGINE BOOK PROJECT: COLOR TRANSITION EVENT HANDLING AND DATA WIRING THE COLTRANSITION() FUNCTION THE GAME PLAN FADING COLOR CODING THE COLOR TRANSITION FINISHING THE TEXT TRANSITION REVIEWING THE CODE SO FAR DATA-DRIVEN SITES (AND WHY YOU NEED TO UNDERSTAND THEM) DEFINING DATA FOR FUTUREMEDIA CHAPTER 12 ADDING SOUND TO FLASH CHOOSING THE RIGHT SOUND FORMAT USING SOUND ON A TIMELINE USING THE ACTIONSCRIPT SOUND CLASS PLAYING SOUNDS FROM ACTIONSCRIPT ATTACHING SOUNDS TO A SOUND INSTANCE STARTING AND STOPPING SOUNDS CREATING DYNAMIC SOUNDTRACKS USING ACTIONSCRIPT TO CONTROL VOLUME AND BALANCE DEALING WITH LARGE SOUND FILES USING COMPRESSION TO REDUCE DOWNLOAD TIMES LOADING SOUND FROM EXTERNAL FILES SILENCE CAN ALSO BE GOLDEN CHAPTER 13 LOADING DYNAMIC DATA WITH XML XML 101 HOW AN XML DOCUMENT IS STRUCTURED USING THE RIGHT VERSION AND ENCODING USING NON-ENGLISH TEXT WITH XML IN FLASH SAVING XML FILES IN UTF-8 HOW TAGS ARE USED IN XML CHECKING THAT YOUR DOCUMENT IS WELL FORMED LOADING XML INTO FLASH BOOK PROJECT: CONTROLLING STRUCTURE AND CONTENT WITH XML BUILDING THE BASIC XML STRUCTURE LOADING THE XML DATA INTO FLASH CREATING THE FUTUREMEDIA SITE’S DATA STRUCTURE HOW THE PAGE ARRAY IS STRUCTURED POPULATING THE ACTUAL DATA VALUES MOVING TO THE NEXT LEVEL CHAPTER 14 FINISHING THE FUTUREMEDIA CASE STUDY GETTING THE DATA INTO THE USER INTERFACE AMENDING THE WAY EVENTS ARE HANDLED READING CONTENT PAGES ADDING THE BACKWARD PATH MAKING SURE THE UI KNOWS WHERE IT NEEDS TO RETURN HOW THE BUILDICON() FUNCTION WORKS TIDYING UP THE USER INTERFACE A GREAT BIG SANITY CHECK ADDING THE STATUS TEXT MESSAGES ADDING A PRELOADER LOADING YOUR OWN CONTENT INTO THE SITE CHAPTER 15 ADVANCED ACTIONSCRIPT: COMPONENTS AND CLASSES FLASH VERSION 2 COMPONENTS GETTING MORE OUT OF COMPONENTS WITH ACTIONSCRIPT COMPONENTS AND EVENT HANDLING HOW EVENT LISTENERS WORK ADDING AN EVENT LISTENER UNDERSTANDING THE ADVANTAGES OF EVENT LISTENERS COMMONLY USED COMPONENTS RADIO BUTTONS CHECK BOXES COMBO BOXES (DROP-DOWN MENUS) USING CODE HINTS WITH COMPONENTS LOADING COMPONENTS AT RUNTIME REMOVING COMPONENTS REMOVING LISTENERS ACTIONSCRIPT AND OOP THE FUTURE ROAD MAP FOR ACTIONSCRIPT IS OOP FOR ME? HOW CLASS-BASED CODING WORKS EXTENDING CLASSES EXTENDING A BUILT-IN CLASS STORING CLASSES IN A CENTRAL LOCATION FINAL THOUGHTS