ITLS 5245/6245 (Interactive Multi-Media Production) Screencasts and Associated Files

Primary Technology

The primary tool used in this class is Adobe CS6 Flash Professional. You'll need the current version of the software as the files are not backward compatible.

Important

Each video comes with a .zip archive. I would recommend viewing either the .html file or the .swf as the videos come with player controls and allow you to skip around to key portions of the content. Most come with .fla and other files under a "media" subfolder. Have those handy so you can follow along and experiment. I recommend stopping the videos often so you can try out what is being demonstrated.

Appropriate Use

These videos cover a wide range of topics, I have tried to keep the length of any one video down. Although the videos are numbered below to convey a relationship between the topics and although some build on each other, they are intended to stand alone and you will get the most out of them if you come trying to address a sepcific need rather than watch them in order hoping to retain what you have learned. Think of these as more of an interactive reference.

No Topic/Description Stream Media Files

Basics (1.1)

1.1.1

Flash Interface

opening new files, a look at the main windows, using tabs, tool window, context sensitive nature of Flash, re-sizing windows, undocking windows, classic view, lost windows.

external pagevideo

.zip archivearchive

1.1.2

Project Properties

how to find and adjust project wide properties including the frame rate, dimensions and background color.

external pagevideo

.zip archivearchive

Text (1.2)

1.2.1

Text Tool

selecting the text tool, changing font family, placing textbox, adding text, moving, and text properties like size and color.

external pagevideo

.zip archivearchive

1.2.2

Text Filters

applying filters (like drop shadow, bevel, and glow) to a text box.

external pagevideo

.zip archivearchive

1.2.3

Link Text

creating text that links to a URL or an email address, If you watch one thing here the project preview gives you and end user's look at your work. Will come in especially handy as you get into tweens and movie clips.

external pagevideo

.zip archivearchive

Art/Drawing (1.3)

1.3.1

Pencil Tool

selecting the tool, changing mode (straighten/smooth/ink), changing stroke size, eraser, eye dropper to select existing color. Example consists of drawing a jack-o-lantern.

external pagevideo

.zip archivearchive

1.3.2

Importing Graphics

how to import graphics to the library, bring the graphic onto the scene and resize the project so it can accomidate the graphic.

external pagevideo

.zip archivearchive

1.3.3

Moving Objects

selecting objects with the selection tool, snapping, changing the snapping settings, 1 pixel changes with arrow keys, 10 pixle changes with shift + arrow keys, selecting/moving multiple objects, changing via the properties window

external pagevideo

.zip archivearchive

1.3.4.1

Object Union (1 of 3)

combining vector art that shares an identical color. Selecting and moving until they are touching or overlap on the same layer, deselecting, and reasons why it might not work (one object is grouped, or there is a different stroke color).

external pagevideo

.zip archivearchive

1.3.4.2

Shaping and Edit Points (2 of 3)

Using the selection tool to modify the position of different points in a piece of vector art, or bend the lines of a piece of vector art.

external pagevideo

.zip archivearchive

1.3.4.3

Object Subtraction (3 of 3)

Using vector art to take a bite out of another piece of vector art. Also covers drawing perfect circles using shift + drag and the oval tool.

external pagevideo

.zip archivearchive

1.3.5

Free Transform Tool

Change the dimensions individually or to scale, rotate, and skew. The tool is demonstrated on simple vector art, text, as well as more complex vector art.

external pagevideo

.zip archivearchive

1.3.6

Color Window and Gradient Transform Tool

Using the color window to apply changes to stroke and fill colors of vector art as well as apply gradients (radial and linear gradients are shown). Changes to those gradients are then demonstrated using the gradient transform tool as well as shifting, adding, and deleting colors to the color slider.

external pagevideo

.zip archivearchive

1.3.7

Alignment Window

Demonstrates how to evenly space out objects, or uniformly align them on the stage or relative to each other.

external pagevideo

.zip archivearchive

Organization (1.4)

1.4.1

Layers

naming layers, adding layers, adding content to layers, move content from one layer to another, cut/paste in place, stacking order, changing the stacking order, locking layer content, undo command, show/hide layers, outline view for layers. If you watch one thing here the undo command is a life saver.

external pagevideo

.zip archivearchive

1.4.2

Grouped Objects

Grouping items together, shown with vector art to get around object union and object subtraction. Continues with the van used in object union, shaping and edit points, and object subtraction.

external pagevideo

.zip archivearchive

Tweens or Animation (1.5)

1.5.1

Frame Span

Adding frames, overall discussion of how time is shown on the timeline, covers keyframes, end frames, and adding frames

external pagevideo

.zip archivearchive

1.5.2

Edit Frame Span

Using insert frames to extend the length of a framespan, using remove frames to drop single or a range of frames to contract it. Selecting a framespan and moving it to a different location on the timeline.

external pagevideo

.zip archivearchive

1.5.3

Classic Tween

Creating classic tweens for text boxes and symbols, independence of objects on different keyframes, creating a change in location, downside to applying the tween on the wrong kind of object. Clearing keyframes (another form of timeline manipulation) is also shown.

external pagevideo

.zip archivearchive

1.5.4

Shape Tween

Creating shape tweens with vector art, creating a change in position, color and fundamental shape of the object. Potential for unexpected results.

external pagevideo

.zip archivearchive

1.5.5

Broken Tween

How to break a classic or shape tween.

external pagevideo

.zip archivearchive

1.5.6

Classic Motion Guide

How to create a guide layer for a classice tween in order to have objects follow a path. Includes snapping, following a simple arc and a more complex spiral shape. Reasons why the object might not follow the path are also shown.

external pagevideo

.zip archivearchive

1.5.7

Motion Tween

Setting up a framespan, creating a motion tween and adding keyframes on the fly. Fade in and motion are demonstrated. Built in guide path is also shown. Motion tweens must be used with symbols.

external pagevideo

.zip archivearchive

1.5.8

Rotation

Using a motion tween to rotate an object. Covers rotation points using the free transform tool, some discussion of instances vs symbols. Also discusses how to set up a tween so it loops continuously with no visual pauses.

external pagevideo

.zip archivearchive

1.5.9

Easement

Changing the pace over time in a tween for classic or shape tweens. Covers how to select the tween and edit the easement in the properties window. Covers ease out (fast at first, slowing down towards the end) and ease in (slow at first, getting faster over time).

external pagevideo

.zip archivearchive

1.5.10

Motion Editor

A look at fine-tuned control over the pacing of tweens. Different dimensions and features that can be animated. Bounce in for a y-axis change is demonstrated. 0,0 point of the stage is discussed.

external pagevideo

.zip archivearchive

1.5.11

3d Rotation Tool

In conjunction with a motion tween, the rotation tool can spin 2d objects on their x or y axis. The companion 3d translation tool creates motion on the x, y, and z axis.

external pagevideo

.zip archivearchive

Symbols (1.6)

1.6.1

Graphic Symbols

How to create graphic symbols, the difference between a symbol (blueprint) and an instance of that symbol. Symbols vs instances are a key thing to understand going forward.

external pagevideo

.zip archivearchive

1.6.2

Button Symbols

Using samples from the common libraries, discusses different button visual states and some best practices for setting them up (single framespan for text, center alignment). Goes on to cover the critical difference between making another instance of a symbol vs making a duplicate of it in the library. Also covers a common problems of dragging an instance of a symbol inside itself or accidently nesting a button symbol inside another.

external pagevideo

.zip archivearchive

1.6.3

Buttons Nested Graphics

Creating buttons with graphic symbols as a foundation so that sweeping changes can be made throughout a project.

external pagevideo

.zip archivearchive

1.6.4

Movie Clips Nested Timelines

An example with with a basketball showing vertical change (bounce) nested within a horizontal change to have it bounce in from off screen. Highlights the independent nature of timelines and also covers how to cut/paste frames (different than other cut/paste operations) to move a tween from one timeline (in this case the main timeline) to a another (in this case a new movie clip).

external pagevideo

.zip archivearchive

1.6.5

Movie Clips Independent Timelines

An example with two gears showing how timelines operate indpendently of each other.

external pagevideo

.zip archivearchive

1.6.6

Cut Frames/Paste Frames

If you already have tweens or multiple layers that you want to package into a movie clip, this is a look at how to Cut and Paste Frames into a timeline. Note that you have to do it by selecting and right clicking on frames in the timeline, you cannot see this option in the edit menu or do it with the typical keyboard shortcut. Covers cutting frames, inserting a new movie clip symbol, pasting frames, cleaning up the previous timeline and adding an instance of the new movie clip.

external pagevideo

.zip archivearchive

Actionscript, Timeline Control (1.7)

1.7.1

stop(); Function

Covers a convention (putting all actions into an actions layer), when actions get run, introduces the stop(); function, also covers how to verify where your code is being written

external pagevideo

.zip archivearchive

1.7.2

gotoAndStop(); Function

Instead of stopping on the current frame gotoAndStop() can take a frame number and move the playhead to that frame before stopping.

external pagevideo

.zip archivearchive

1.7.3

gotoAndStop(); w/ Frame Labels

Instead of using numbers you manually type in you can refer to a frame label, a sort of instance name for a frame of content. If the label gets moved to a new frame, the actionscript keeps working. Covers both creating the frame label and referring to it in actionscript.

external pagevideo

.zip archivearchive

1.7.4

nextFrame(); and prevFrame(); Functions

Each figures out what the current frame is, then moves you forward one frame and stops nextFrame(); or moves you back to the prior frame in the timeline prevFrame(); Note that this change is linear, not like a browser's history feature.

external pagevideo

.zip archivearchive

1.7.5.1

Controlling "Child" Objects (1 of 2)

You have have used the stop(); function to stop the current timeline (such as the main timeline) this is a look at how to control timelines nested within your current timeline. Includes "turn by turn" directions to the timeline using the "target object" button in the actions window as well as a discussion of why it doesn't work quite right and how to fix it.

external pagevideo

.zip archivearchive

1.7.5.2

Controlling "Sibling" Objects (2 of 2)

A look at how the target path needs to change when you are talking to a sibling--on the same level of the heirarchy as the place where you are writing the code. Which involves going "up" to a parent before pointing at the sibling.

external pagevideo

.zip archivearchive

Actionscript, Buttons (1.8)

1.8.1

Button Actions

Covers the three fundamentals of buttons: An instance name, an event listener (paired with an instance name and an event, and a custom function), and a custom function to run when the event for that button is triggered.

external pagevideo

.zip archivearchive

1.8.2

.visible Property

Using the visible property to set two buttons up as a toggle, where you alternate showing/hiding as the other button is clicked.

external pagevideo

.zip archivearchive

1.8.3

Button Listener Limits

You cannot attach an Event Listener to a button, using the addEventListener() function, unless the button "exists" at that point in the timeline. Shows the error you might see if you try it and dicusses how to fix the problem (move the event listener to where the button shows up).

external pagevideo

.zip archivearchive

Actionscript, Variables/Properties, Conditionals, Control Structures (1.9)

1.9.1

Variables and Properties

Discusses properties (data about objects built into Flash) vs variables (which you create and name to hold data). Shows an example of updating the .alpha property of three movie clip instances.

external pagevideo

.zip archivearchive

1.9.2

Variables

Declaring variables and giving them a type, updating variables, giving variables an initial value. Forcing data to conform to a given variable type.

external pagevideo

.zip archivearchive

1.9.3

Variable Scope

Variables live in a certain space, if created on say the root timeline, then anything (including functions) can access them or even update them. If created inside a function those variables live inside that function alone, and go away when the function finishes running. Also discusses the fact that variables inside a movie clip go away if you

external pagevideo

.zip archivearchive

1.9.4

If, Else If, Else

We make similar kinds of decisions all the time. If the smog level is extreme, don't go outside, else if it is mild, then limit outdoor activity, else (in all other cases), don't limit activity because of smog. Example reads the .x coordinate of a movie clip (a happy/sad face) and adjust it's playhead to show a relevant disposition.

external pagevideo

.zip archivearchive

1.9.5

Conditionals (Are These The Same?)

Actionscript is very literal. Setting myVariable = 4 is an "assignment" updating the value of the variable. That is much different than checking to see if myVariable == 4, which checks to see of the current value of the variable is equivalent to the stated value.

external pagevideo

.zip archivearchive

1.9.6

Conditionals ("and", "or")

Checking for complex conditions, such as two things having to be true, using "and" && as well as either of two things being true, using "or" ||. For example, an employee might get a raise if (budget == "flexible" && jobPerformance == "good"). As another example, you might use an umbrella if (weather == "rain" || weather == "hail").

external pagevideo

.zip archivearchive

1.9.7

Debugging Tools (1 of 2)

Setting break points in the actions window to pause the actionscript and allow you to check "live" variable/property values using the debbuging tools.

external pagevideo

.zip archivearchive

1.9.8

Avoiding Initial Values (2 of 2)

Actionscript gets run twice, once to set up space in memory for variables objects and functions, then again to actually execute the code. If you set an initial value for a variable (for example var myVariable = 5;) then the value will be set to 5 every time you visit the frame that code is on. This example sets up an if check that takes advantage of actionscript being run twice so that initial variables only get set the "2nd" time the code is run, immediately after memory is reserved for variables. But not when the code is visited again.

external pagevideo

.zip archivearchive

Functions (1.10)

1.10.1

Custom Functions (1 of 5)

Starts with a sample of two custom functions that read data from a specific text field and use that data to update a variable. The relationship between these user generated custom functions is compared to built in functions.

external pagevideo

.zip archivearchive

1.10.3

Function Reuse (2 of 5)

Shows the true power of custom functions by re-writing very similar functions to be more generic. As part of that process and making them generic the function reads in data (the text box to pull information from) and then returns the data it gets.

external pagevideo

.zip archivearchive

1.10.4

Multiple Arguments (3 of 5)

What happens when you need to pass two or more pieces of data to your custom fuction? A look at passing two arguments to a function and using both pieces of data in a calculation before returning the result.

external pagevideo

.zip archivearchive

1.10.5

Chaining Functions (4 of 5)

If a function gets you really close to what you want, you don't need to duplicate your efforts use it for the part of the job it can do, and do the rest in your new custom function. By chaining functions together you can do a wider set of tasks.

external pagevideo

.zip archivearchive

1.10.6

Nesting Functions (5 of 5)

Many times you want a function to run a whole set of instructions, or only run certain instructions at certain times. In this example, a function reads in a percentage score, and using a series of if/else if/else checks it uses that data to figure out a letter grade from A-F. Discusses how to use uniform tab stops so your actionscript is more readible.

external pagevideo

.zip archivearchive

Text Fields and Strings (1.11)

1.11.1

Update Text Field

You can use actionscript to update the contents of a text field. It needs to have an instance name, you have to point at it, then you need to update the .text property. For example: myTextField.text = "you just got updated!";

external pagevideo

.zip archivearchive

1.11.2

Adding Strings Together

Many times you may want to add strings together, such as a couple of String variables, or adding a String to an existing variable. You can do this with the plus sign. For example: newString = myString1 + myString 2;

external pagevideo

.zip archivearchive

1.11.3

Embedded Fonts

TLFText fields, and classic text fields than can be altered with actionscript will default to small file size at the expense of looking good. If you care at all about aesthetics you should "embedd" your font along with the .swf file (this can be done using the properties window).

external pagevideo

.zip archivearchive

Actionscript, Drag and Drop (1.12)

1.12.1

Drag and Drop Setup

Before you can get started with actionscript you need draggable objects and drop targets that are movie clips, both of which need instance names. You need some kind of background to avoid a null reference if they miss your targets. Make sure your draggables are above the drop targets, ideally above other layers too. Also discusses using centered registration points, making sure font inside draggable movie clips is not selectable.

external pagevideo

.zip archivearchive

1.12.2

Start Drag (1 of 11)

Think of drag and drop as being similar to buttons. Instead of looking for MouseEvent.CLICK you can begin a drag and drop by listening for MouseEvent.MOUSE_DOWN. Instead of doing something like changing the playhead (what you might do for a button) you can point to your draggable movie clip and call the startDrag() function.

external pagevideo

.zip archivearchive

1.12.3

Stop Drag (2 of 11)

Think of drag and drop as being similar to buttons. Instead of looking for MouseEvent.CLICK you can begin a drag and drop by listening for MouseEvent.MOUSE_UP. Instead of doing something like changing the playhead (what you might do for a button) you can point to your draggable movie clip and call the stopDrag() function.

external pagevideo

.zip archivearchive

1.12.4

Snapping Back (3 of 11)

Setting varialbes to store the starting x, y coordinates of a draggable object. Storing those coordinates before dragging begins, then forcing the object back onto those coordinates after dragging stops.

external pagevideo

.zip archivearchive

1.12.5

Selectable Text (4 of 11)

When you have selectable text in a draggable object it can mess with the cursor and even trap a mouse event you wanted to go to the movie clip as a whole.

external pagevideo

.zip archivearchive

1.12.6

Detecting Drop Target (5 of 11)

Dragging and dropping is one thing, figuring out where you landed is another. Uses the dropTarget property of the draggable object (typically used as <draggable>.dropTarget.parent.name) to figure out the instance name of the object that the mouse is over when the user released the button. Also walks through "pseudo coding" the logic of what you might want to check for and updating a feedback text field when certain targets get hit.

external pagevideo

.zip archivearchive

1.12.7

Updating Alpha (6 of 11)

You might want to make visual changes to your draggable object depending on what happens, if you still want the learners to interact with it (say because they didn't do what you wanted) you might keep it opaque. If they did want you wanted (say because they found the correct target) you might want to gray it down. This covers setting variables for a couple of alpha levels and then using those varaibles to make changes on the draggable object.

external pagevideo

.zip archivearchive

1.12.8

Copying Correct Target (7 of 11)

A look at copying/pasting and then modifying code for a drag and drop with a "correct response" option, or a drop target you actually want it to find.

external pagevideo

.zip archivearchive

1.12.9

Copying Incorrect Target (8 of 11)

A look at copying/pasting and then modifying code for a drag and drop in which there is no correct response available. In this particular case it's not just a matter of changing instance names and text strings for feedback, the logic needs to be changed slightly.

external pagevideo

.zip archivearchive

1.12.10

Custom Start (9 of 11)

If you are going to be doing more than a few drag and drop interactions the code starts to get really repetative. Rather than give yourself the headache of having to make changes in multiple places you can write a custom function, passing in the data you need (like a reference to your draggable object) and let the custom function deal with things from there.

external pagevideo

.zip archivearchive

1.12.11

Custom Correct (10 of 11)

Custom function to handle cases where there is a correct drop target.

external pagevideo

.zip archivearchive

1.12.12

Custom Incorrect (11 of 11)

How to handle a custom function when there is no correct drop target.

external pagevideo

.zip archivearchive

Actionscript, Sound (1.13)

1.13.1

Sound With Actionscript

Covers a lot of ground including: how to add a "linkage name" to something in the library so that you can pull it into your project using actionscript, creating an instance of your custom Sound class, playing the audio, placing all of that in a custom function so you can access it multiple times. Using SoundMixer.stopAll() to keep other sounds from playing before you do something new.

external pagevideo

.zip archivearchive

1.13.2

Sound Volume

Shows how to set volume for video files (using the FLVPlayback component) for audio in the timeline as well as audio using actionscript. The actionscript approach requires saving the SoundChannel, adding a SoundTransform, updating the volume and then applying the SoundTransform to the SoundChannel. Simple enough right?

external pagevideo

.zip archivearchive

Video/Sound (1.14)

1.14.1

Adobe Media Encoder

Briefly shows the Adobe Media Encoder, how to add video, choose different compression settings and output an .f4v file, which can be used as an external video resource in flash projects.

external pagevideo

.zip archivearchive

1.14.2

Embedded Video

One approach to adding video to a flash project is to embed it as part of the .fla file. This can only be done with the older .flv format of video and also presents some potential challenges associated with increase .fla file sizes.

external pagevideo

.zip archivearchive

1.14.3

FLVPlayback Component Video

Another approach is to pull externally "housed" video files into the FLVPlayback component and play them that way. This allows you to use some built in player controls and skins, as well as use video across several different flash projects.

external pagevideo

.zip archivearchive

1.14.4

Sound in Timeline

For short sounds, it can be effective to run them in the timeline, discusses briefly how to important a sound but focuses on pulling one from the common library and then adding to to help reinforce the visual animation of a basketball bouncing.

external pagevideo

.zip archivearchive

1.14.5

Music in Timeline

When sounds are longer (such as a piece of music) then using the timeline can be more challenging. Discusses how to add sound to the timeline but also stop it from played when you move to another frame (again using timeline controls for the sound).

external pagevideo

.zip archivearchive

No Topic/Description Stream Media Files

Item Writing/Embedded Items

2.1.1

Multiple Choice Items

Definition, parts of, advantages/disadvantages, and recommendations (both for the stem or "prompt" and for the response set).

external pagevideo

.zip archivearchive

2.1.2

Multiple Choice Examples

Applies the recommendations to a series of examples with an eye towards making each item better.

external pagevideo

.zip archivearchive

2.1.3

Matching Items

Definition, parts of, advantages/disadvantages, and recommendations (both the stem or "prompt", for the presmise set, and for the response set).

external pagevideo

.zip archivearchive

2.1.4

Matching Example

Applies the recommendations to a single examples with an eye towards making it better.

external pagevideo

.zip archivearchive

2.1.5

Embedded Items

Using items to check understanding in a non-threatening, low stress way, right after new material is presented. Discusses the theory behind how to structure feedback for embedded items.

external pagevideo

.zip archivearchive

2.1.6

Embedded Item Samples

Walks through two sample embedded items, one multiple choice and one matching. Shows specifics about how to structure the feedback.

external pagevideo

.zip archivearchive

Use the spoilers as a last resort. If you do need to look at them, try to get help for only your current problem and proceed from there.

No Topic/Description Stream Media Files

Assignment Spoilers

a.1

Assignment 1

re-sizing project, adding text (with options for selectable and clickable or hyperlink text), adding graphics and using the paint window to blend them into the background.

external pagevideo

.zip archivearchive

a.2

Assignment 2

Setting up and creating a classic tween for a bitmap (position change), extending the timeline for static elements, converting text to a graphic symbol and using it in a motion tween (fade in), breaking apart text and using it in a shape tween. Adding an actions layer and placing the stop(); function call

external pagevideo

.zip archivearchive

a.3

Assignment 3

creating nested animation to rotate the moon/shadow that is synched up with the existing changes to the face of the moon, setting up a graphic symbol for the earth shadow, rotating the earth, drawing in the direction/source of sunlight.

external pagevideo

.zip archivearchive

a.4

Assignment 4

adding buttons (from the common libraries) duplicating in the library to create different lables, using the stop(); function, then adding instance names, event listeners, and custom functions. Finish with the totalFrames property to allow for expansion.

external pagevideo

.zip archivearchive

a.5a

Assignment 5a

adding buttons (from the common libraries) duplicating in the library to create different labels, copying button actions and then using target path to point at different movie clip timelines and force them to either play(); or stop();

external pagevideo

.zip archivearchive

 

a.5b

Assignment 5b

positioning the buttons on top of each other, using "bring to front" to make sure pause is on top. Then setting the visible property of each button to true or false depending on which button was currently visible and clicked.

external pagevideo

a.6

Assignment 6

Placing content into a movie clip (note this step is already done for you in the start file), adjusting buttons so that they change the movie clip instead of the main timeline. Adding buttons for credits and go back (including symbols, instance names, event listeners, and functions) adding a variable for the content frame last visited, updating it and referencing it when going back from credits. Packaging assignment 2 contact footer as a movie clip and adding it into .

external pagevideo

.zip archivearchive

 

a.7

Assignment 7

Creating a text field, giving it an instance name, using frame actions from one of the movie clips (moonTopClip) to update the text field with the appropriate moon phase (for example "new moon"). Creating a custom function to update the .alpha property of buttons in various states (beginning, middle, and end of the content), setting and using varaibles to avoid repeating values for .alpha settings. As a final touch, updating the .enabled property of buttons so they stop changing as a result of mouse interactions or start again when active.

external pagevideo

.zip archivearchive

a.9

Assignment 9

Covers setting up listeners, "handler functions" and then using a custom myStartDrag and myStopDrag function for 8 of the 9 draggable objects. For the incorrect response (draggableFirstHalf) a simplified set of instructions is used to snap it back, gray it down and provide incorrect response feedback.

external pagevideo

.zip archivearchive

a.10

Assignment 10

Uses a sound file from the common library and actionscript to create sound for buttons by way of a custom function. Adds a call to that function for every button. Uses the FLVPlayback component to show the NASA video after making room for it on the content movie clip timeline. Finishes by adjusting the volume of both the video and the buttons sounds. Also shows how to keep the video sound from playing when traveling to a new frame of content by using SoundMixer.stopAll();

external pagevideo

.zip archivearchive