Borough of Manhattan Community College
The City University of New York
Multimedia Programming & Design
MMP 230 Interaction Design with Multimedia Programming
Instructor: Matthew Belanger
Email: bmcc@matthewbelanger.com
Website: http://www.matthewbelanger.com/bmcc/mmp230/
Lecture Hours/Week: 2
Lab Hours/Week: 3
Credits: 4
A. Description:
Students will learn to design interfaces and manipulate graphics, text, sound & video through programming using ActionScript in Macromedia Flash MX. An emphasis will be placed on planning projects and using programming concepts for the development of games, websites & dynamic multimedia applications.
B. Prerequisites:
Basic Skills: ENG 088, ESL 062, RDG 062, MAT 010/011, MMP 100
Co-requisite: MAT 051
C. Objectives:
By the end of the course the student will be expected to:
Understand the basic structures of ActionScript, such as properties, conditional statements, repeat loops and variables
Control animation, sound and video with ActionScript
Understand the terminology and concepts of object oriented programming
Create custom functions and objects, dynamically create movie clips & text fields
Understand how to manage code and other project assets
Develop an interface for dynamically loaded data, such as XML or PHP, for game design or e-commerce
D. Required Texts and/or Supplemental Material:
ActionScript for Flash MX: The Definitive Guide, Second Edition by Colin Moock published by O'Reilly ISBN: 0-596-0036-X
E. Evaluation and Requirements of Students:
Class and homework assignment: 30%
Midterm Project: 25%
Final Project: 35%
Class performance and attendance: 10%
F. Attendance Policy:
The College's attendance policy states: "At BMCC, the maximum number of absences is limited to one more hour than the number of hours a class meets in one week. In the case of excessive absence the instructor has the option to lower the grade or assign an 'F' or 'WU' grade."
G. Outline of Topics:
ActionScript Fundamentals:
The Flash MX Interface
Movie Clips & Buttons
• Event Handlers
• Properties
• Statements & Commands
Variables
• Operators
• Expressions
Conditionals
• Repeat Loops
Functions & Methods
Arrays
Using ActionScript To Control interface Elements:
• Animation
• Drawing API
• Sound
• Video
• Text
Object Oriented Programming:
• Manipulating the built-in objects of Flash
• reating custom objects, constructor functions
• inheritance
Project Management:
• Developing logic through pseudoCode
• Managing Assets
• Loading External Scripts
Dynamically Loaded Data:
• Working with XML in Flash
• Importing Data From Outside of Flash
H: Course Outline:
Class 20 (April 12):
1. Review Drawing API
2. Flash Communication with Server Pages
• PHP, ASP, JSP, ColdFusion
• LoadVars Object
• LoadVars
Methods, LoadVars.load(), LoadVars.getBytesLoaded(), LoadVars.getBytesTotal(), LoadVars.send(), LoadVars.sendAndLoad(), LoadVars.toString()
• LoadVars
Properties, LoadVars.contentType, LoadVars.loaded
• LoadVars Events, LoadVars.onLoad
• POST vs. GET
Class 19 (April 7):
1. Flash Drawing API
•
Drawing API Methods, MovieClip.lineStyle(), MovieClip.lineTo(), MovieClip.curveTo(), MovieClip.moveTo(), MovieClip.beginFill(), MovieClip.endFill()
Class 18 (April 5):
1. Work on Midterm in Class
2. Turn in Midterm (email or burn to cd)
Class 17(March 31):
1. Work on Midterm in Class
Class 16 (March 22):
1. Flash Buttons In Depth
• Simple Buttons
• Invisible Buttons
• Buttons with Multiple Hot Spots
• Animated Buttons
• Fixed State Buttons
• Interactivity with Buttons
2. Introduce TextField Object
• TextField Methods, TextField.removeTextField(), TextField.addListener(), TextField.removeListener(), TextField.getDepth(), TextField.replaceSel(), TextField.setTextFormat (), TextField.getNewTextFormat(), TextField.setNewTextFormat()
• TextField Properties, ._alpha, .autoSize, .background, .backgroundColor, .border, .borderColor, .bottomScroll, .embedFonts, ._highquality, ._height, .hscroll, .html, .htmlTest, .length, .maxChars, .maxhscroll, .maxscroll, .multiline, ._name, ._parent, .password, ._quality, .restrict, ._rotation, .scroll, .selectable, .tabEnabled, .tabIndex, .text, .textColor, .textHeight, .textWidth, .type, ._url, .variable, ._visible, ._width, .wordWrap, ._x, ._xmouse, ._xscale, ._y, ._ymouse, ._yscale
• Loading External Text Files
3. Work on Midterm in Class
Class 15 (March 17):
1. Review Advanced Actionscript Techniques
• Review Event Handlers as Functions
• Review Including External ActionScript Files
• Review External ActionScript Editors
2. Work on Midterm in Class
Class 14 (March 15):
1. Advanced Actionscript Techniques
• Event Handlers as Functions
• Including External ActionScript Files
• External ActionScript Editors
2. Work on Midterm in Class
Class 13 (March 10):
1. Review Flash Video
• Importing video
• Sorenson Squeeze for Flash MX
• Advantages of Flash as video plugin
• A simple video player interface
2. Midterm Discussions
• Talk about Project Ideas
Class 12 (March 8):
1. Flash Video
• Importing video
• Sorenson Squeeze for Flash MX
• Advantages of Flash as video plugin
• A simple video player interface
2. Midterm Discussions
• Talk about Project Ideas
Class 11 (March 3):
1. In Class Project
• Finish space shooting game
Class 10 (March 1):
1. In Class Project
• Continue space shooting game
Class 9 (February 24):
1. In Class Project
• Start space shooting game
Class 8 (February 22):
1. The Fundamentals of Programming with ActionScript
• Review Arrays
• Review Sound Object
• Introduce creating your own functions
• Introduce new MovieClip Methods, MovieClip.loadMovie, MovieClip.getBytesLoaded, MovieClip.getBytesTotal
2. Streaming MP3 Player
3. Image Gallery
• Loading external JPEGS
Class 7 (February 17):
1. The Fundamentals of Programming with ActionScript
• Review Arrays
• Review MovieClip Methods, duplicateMovieClip(), removeMovieClip(), MovieClip.attachMovie()
• Review Color Object
• Introduce Sound Object, Methods: Sound.attachSound(), Sound.loadSound(), Sound.start(), Sound.stop(), Sound.getBytesLoaded(), Sound.getBytesTotal(), Sound.getPan(), Sound.setPan(), Sound.getTransform(), Sound.setTransform(), Sound.getVolume(), Sound.setVolume() , Properties: Sound.duration, Sound.position, Event Handlers: Sound.onLoad, Sound.onSoundComplete
Class 6 (February 15):
1. The Fundamentals of Programming with ActionScript
• Introduce Arrays, Methods, join, pop, push, reverse, slice, splice, sort, toString, unshift, Properties, length
• Review MovieClip Methods, duplicateMovieClip(), removeMovieClip(), MovieClip.attachMovie()
• Review Levels & Depth
• Review Color Object
Class 5 (February 10):
1. The Fundamentals of Programming with ActionScript
• Review Variable Scope, Timeline, Local, Global
• Review Identifiers, this, _root, _parent, _global
• Review MovieClip Properties
• Introduce New Functions, startDrag(), stopDrag(), random()
• Introduce Movie Clip Methods, duplicateMovieClip(), removeMovieClip(), MovieClip.attachMovie()
• Introduce Levels & Depth
• Introduce Color Object, Color.getRGB(), Color.setRGB() , Color.getTransform(), Color.setTransform()
Class 4 (February 8):
1. The Fundamentals of Programming with ActionScript
• Questions From Class
• Review MovieClip Properties
• Introduce Button Properties, enabled, useHandCursor
• Review Conditionals
2. Turn in Assignment 1 (email or burn to cd)
Class 3 (February 3):
1. The Fundamentals of Programming with ActionScript
• Introduce Variable Scope, Timeline, Local, Global
• Introduce Identifiers, this, _root, _parent, _global
• Review Data Types
• Introduce Bult-In Functions, Number(), String(), Boolean()
• Review Event Handlers
• Review Expressions
• Review Conditionals
• Review Operators
• Review Repeat Loops
• Introduce MovieClip Properties, _name, _visible, _alpha, _currentframe, _totalframes, _x, _y, _xscale, _yscale, _height, _width, _rotation, _xmouse, _ymouse
2. Continue Assignment 1 (Due Class 4)
Class 2 (February 1):
1. Review the Flash interface
2. The Fundamentals of Programming with ActionScript
• Review Variables
• Review Data Types, Number, String, Boolean
• Review Statements
• Review Commands & Arguments
• Review The Output Panel
• Event Handlers in depth
• Introduce Expressions
• Introduce Conditionals, if, else, else if
• Operators In Depth, . (Dot), + (Addition), - (Minus), *(Multiplication), / (Division), < (Less Than), <= (Less Than or Equal To), > (Greater Than), >= (Greater Than or Equal To), = (Assignment), ++ (Increment), -- (Decrement) , == (Equality), != (Inequality), === (Strict Equality), !== (Strict Inequality), && (Short-Circuit And), || (Logical Or)
• Introduce Repeat Loops, for, while
• Commenting Your Code, //, /*
3. Assignment 1
• Create a Button & a MovieClip
• Use a Button Event & a MovieClip Event
• Use 2 or more frames
• Use at least 3 Variables, 1 Number, 1 String, 1 Boolean
• Use the trace() command to track Variable values
• Use at least 2 Conditionals
• Use at least 2 Operators
• Use at least 1 Repeat Loop
Class 1 (January 27):
1. Introductions
2. Show Some Flash/Actionscript Projects I've worked On
3. Introduce the Flash interface
• Show The Stage, Timeline, Properties Panels
•
Show Design Panels, Align, Color, Transform
• Creating & Saving A New Document & Basic Document Settings
• Introduce Symbols, Buttons vs. MovieClips
• Show The Library
• Symbol Names vs. Instance Names
• Show The Actions Panel
• Show The Help Panel
4. The Fundamentals of Programming with ActionScript
• General Programming Concepts, Logic, Math, pseudoCode, Syntax
•
Introduce Variables, var message = "Hello Class!";
• Introduce Data Types, Number, String, Boolean
•
Introduce Statements
• Introduce Commands & Arguments, trace(variable)
•
Test Your Movie
•
Introduce The Output Panel
•
Introduce File Types, swfs vs. flas
• Introduce Operators
• Introduce Event Handlers
I: Links:
Useful Flash Links:
Macromedia Flash - Support Center
http://www.macromedia.com/support/flash/
Macromedia Flash - ActionScript Dictionary
http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/
Intro to ActionScript
http://www.hed.swin.edu.au/design/tutorials/flash/intro_as/index.php
Writing ActionScript
http://livedocs.macromedia.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00000841.html
moock.org>> asdg>> codedepot
http://www.moock.org/asdg/codedepot/
ActionScript: The Definitive Guide
http://www.monkeytools.com/oreilly/webdesign/action/
Actionscript.org Macromedia Flash Resources and Tutorials
http://www.actionscript.org/
kirupa.com - Shocked Flash Resource
http://www.kirupa.com/
Flash Kit, A Flash Developer Resource
http://flashkit.com/
ActionScript Toolbox: Resources, Code Samples, Tutorials
http://actionscript-toolbox.com/
Director vs. Flash
http://webmonkey.wired.com/webmonkey/99/27/index3a.html?tw=multimedia