[HOME]        [session #1]        [session #2]        [session #3]        [session #4]        [session #5]       




ADVANCED FLASH4: Session-by-Session Notes

School of Visual Concepts www.svcseattle.com
500 Aurora Ave N, Seattle WA 98109   (206) 623-1560
Instructor: Marc Hoffman marc@dartfrogmedia.com
Assistant Instructor: Leif O'Leary




The Advanced Flash4 class is designed with the working professional Flash designer in mind. Therefore, our pace and direction will be greatly influenced by you, the student. Content will reflect your abilities and interests. To allow sufficient flexibility, the syllabus as well as this Web page will be updated regularly. Session-by-session information will be added weekly, so please check back often.



Session #1

Items Covered in This Session:

  • Introductions
  • Student survey forms
  • Logistics (schedule, breaks, attendance, etc.)
  • Requirements & expectations
  • Course topics
  • Resources (see home page)
  • Hands-On Exercise: Creating a Sound Toggle Switch
  • Hands-On Exercise: Using Tell-Target
    • Dragging instances of a movie clip onto the stage and assigning a unique instance name to each;
    • Using a different button with TellTarget action to make a specific movie clip instance play;
    • Using a frame action at the end of each movie clip timeline to trigger the next movie clip (daisy-chaining animation). Incorporates duplicating symbols and editing each copy.

Assignment for Next Session:

  • Review and bookmark the class Web site at www.dartfrogmedia.com/svcflash. Also have a look at the Class Resources Page.
  • Please bring a 100-megabyte ZIP disk to class next week (and all weeks following) so you can transport your work to and from class. Make sure the disk is formatted for the machine where you will do your non-classroom work (our Macs will read PC-formatted disks, but your PC is unlikely to read a Mac-formatted disk).
  • Continue to practice using TellTarget to communicate among different Flash timelines (movies and movie clips).
    • See http://www.FlashBible.com/members/TellTarget for information about using TellTarget. Be sure to have a look at the TellTarget Chart and Tell Target Diagram linked from the page -- they include good visual and interactive explanations of correct TellTarget syntax.
    • After reading the above article, have a look at targetPractice.html and download targetPractice.fla (the practice movie we used in class). Notice the movie library contains a movie clip (MC) called "Walking Man Bubble." This MC has a nested MC inside it which is an animation of a man walking. See if you can figure out how to:
      • Drag Walking Man Bubble to the stage and assign it an instance name;
      • Edit the instance so that the nested MC inside it also has an instance name;
      • Place two buttons on the main stage and, using a TellTarget path (as explained in the Tell Target article above), make the walking man Play and Stop as functions of the buttons.
      • Remember to use the Dartfrogflash mail list if you get stuck.
  • Read the article Using ActionScript, at http://i-technica.com/whitestuff/actionscriptref.html. Note that you're not expected to absorb the article entirely, but the more exposure you have to ActionScript the sooner you'll become comfortable with it.

Resources:

  • Familiarize yourself with the Class Resources Page. It contains a number of helpful resources and will also be used to archive the week-by-week resources referenced in these session synopses.
back to top



Session #2

Items Covered in This Session:

  • Hands-On Exercise: work with Boxes01c.fla
    • Making the boxes loop when they play.
    • Coding a Stop button to stop an array of movie clips.
    • Using an ActionScript conditional loop (LoopWhile) to apply the same Stop action to an array of movie clips
    • Using the Random() function in Action Script, program a Play button to randomly TellTarget one of the box movie clips to play.
    • Insert the same Random() action within the box movie clip symbol to cause all boxes to randomly start each other, daisy-chain fashion.
      • The code we'll use is found in targetPractice4d.fla in the frame action in the last frame of the movie clip "box.
  • Continuation of TellTarget
  • Analyzing Web Streaming
    • Example: Kaboodle01b.fla
      • Use of Bandwidth Profiler, Streaming Graph, and Size Report
    • How to calculate streaming at modem connection speeds
    • See http://www.dartfrogmedia.com/wsa for more details


Assignment for Next Session:

    • TellTarget Exercise
      • In a new movie, create a movie clip (MC) animation.
      • Now create a second MC animation. Include the first MC as a "child" of the second "parent" MC. Give the child MC an instance name.
      • Place the parent MC on the main timeline. Give it an instance name and apply a motion tween to it.
      • You will end up with something similar to targetPractice4d.swf.
      • Create control buttons on the main timeline and apply actions to them so that the user can control the behavior of all levels of MC's as well as controlling the main timeline.
      • Extra Credit:
        • Create extra nestings of MC's
        • Put buttons and/or frame actions inside lower level timelines (nested MC's) to control higher level timelines (parent MC's or the main timeline).
    • Remember to keep all assigned work on the ZIP disk that you bring to class; we may be making further use of the files.


back to top




Session #3

Items Covered in This Session:

    • Preloader Construction
      • Hands-On Exercise: Building Preloaders into Kaboodle01b.fla
    • Preloader Principles and Caveats
      • When to use and not to use Preloaders
    • Alternate Preloader Schemes
      • Loading assets in an obscured layer
      • Loading a sound silently using "Stop" for sync type
      • Embedding animation in a movie clip (won't play until MC is entirely loaded)
    • Tips for Streamlining Movies
    • Using Load Movie to Manage Streaming
      • When and how to use Load Movie
    • Hands-On Exercise: Portfolio.fla and pic1.fla through pic6.fla
        • Functional example at http://www.dartfrogmedia.com/svcflash_adv/LoadMovie;or
        • Download All Files (.fla, .swf, and index.html. TOTAL SIZE: 2,867k Zipped).
        • Base movie: portfolio.fla
        • Upper level movies: pic1.fla through pic6.fla
        • Open portfolio.fla
          • Save As pic1.fla, delete button and thumbnail layers, convert background layer to a Guide layer.
          • Add four blank frames after frame 1 of the movie.
          • Create new layer (name it "bitmap"). Create a blank keyframe in frame 5 of this layer, and import pic1.bmp to that frame. Position the bitmap in the display area (x=94, y=122) using Object Inspector. Add a blank keyframe in frame 6 so the bitmap is absent there.
          • [Caution: If you reposition or add a layer so that it is beneath a guide layer, the guide layer is converted to a motion guide layer, and the repositioned layer is set to "guided." This is a Flash bug. To restore the correct layer properties, convert the guide layer back to a normal layer, then convert it once again to a guide layer.]
          • Create a layer for labels. Create keyframes with labels "show" in frame 5 and "hide" in frame 6.
          • Create a layer for actions. Add keyframes with Stop actions at frames 5 and 6.
          • In frame 2 of the actions layer, enter this code:

            If (_FramesLoaded>4)

            Set Variable "_level0/:pic1"=1

            Go to And Stop ("show")

            Else

            Go to and Play (1)

            [Note: in Set Variable, the first part (left of equal sign) is a string literal ("abc" button) and the number 1 is an expression ("=" button).]

          • Save pic1.fla and generate pic01.swf. Close file.
          • Pic2.swf through pic6.swf were already created for you.
        • Re-open portfolio.fla
          • In frame 1 of the actions layer, set variables /:pic1 through /:pic6=0 using this syntax:
            Set variable "/:pic1"=0
            You can set the first variable, then copy and paste that line five more times and alter each line to refer to the next variable (/:pic2, /:pic3, etc.). [Note: you may copy, cut and paste within the action script window but you may not cut and paste between Flash and a text editor without a third-party helper program].
          • Add a Stop action in next frame; otherwise the movie will loop and constantly reset the /:pic1 (etc.) values to zero.
          • Program first floating button's actions:
            • TellTarget all levels to go to "hide," using anAction Script loop with /:n as variable:

              Set variable "n"=1
              Loop While n<7
              Tell Target (Expression: "_level"&n) Go To and Stop ("hide")
              Set variable "n"=n+1
              End Loop

            • Set /:buttonvar=1 [Note: this is used so that every button's actions can be an exact copy of the first button; all we'll need to do is change the value of /:buttonvar in each button instance so that all ActionScript in the button refers to a unique image, pic variable, .swf, and loading level.]
            • If (Expression: (Eval ("/:pic"&/:buttonvar)=0), load (Expression: "pic"&buttonvar&".swf") to (Expression: /:buttonvar); else
            • TellTarget (Expression: "_level"&:/buttonvar) GoTo (label: show).
            • Exit the Actions window.
          • Copy floating button to other five locations. Revise ActionScript in each accordingly by setting the value of buttonvar to 2, 3, 4, 5, or 6 (the same number as the picture referenced by the button).


Assignment for Next Session:

 

back to top




Session #4

Items Covered in This Session:

  • Review of homework assignment (Load Movie exercise)
  • Rollover Effects exercise, using:
    • Variables
    • Drag Movie Clip
    • Duplicate Movie Clip
    • Set Property of Movie Clip (targeted dynamically)
  • Weight Chart Generator exercise, using:
    • Variables
    • Tell Target
    • Set Property
    • Text Field (for user input)
    • Bitmap Fill
  • If time allows, we will start on the homework assignment for next week.

Assignment for Next Week:

  • Cascading Menu (http://www.dartfrogmedia.com/svcflash_adv/Drop_Menu). This tutorial guides you through making a drop-down menu. It's a good exercise in movie clip logic and in embedding buttons within a movie clip. Plenty of screen shots and step-by-step instructions should make it easy to follow.

back to top




Session #5

Items Covered in This Session:

  • Review of assignment
  • Action Script Q&A
  • Troubleshooting Flash4: Tips & Tricks

back to top