Flash

advertisement
Lecture 12
Flash
–
–
–
–
–
Done So Far and Build Upon It
Create Function
Create “Button” using ActionScript
Name Keyframes
Create “Disjointed Rollover” using ActionScript
© Anselm Spoerri
Done So Far – Create Flash Website with Animated Buttons
1.
Import Images
2.
Convert Images to Graphic Symbols
•
“Insert > Convert to Symbol”
3.
Create Movie Clip using “Insert > New Symbol”
4.
Insert Graphic Symbol and Animate
5.
Create Buttons
6.
Insert Movie Clip in “Over” State
7.
Create “UP” and “DOWN” Buttons
8.
Create Navigation Bar in “Scene 1” and add ActionScript
9.
Create Scene for Each Category and “Swap In” “Down” Button
This Week – Create Secondary Navigation
and “Disjointed Rollover” using ActionScript
© Anselm Spoerri
Attach ActionScript
• Frame
 stop ();
Function definitions
Variables
• Button
• Movie Clip
Actions panel allows you to select, drag and drop, rearrange, and delete
actions
Reference panel to view detailed descriptions of actions
 Window > Reference
Flash can detect what action you are entering and display code hint
Scripts attached to a frame execute when playhead enters frame.
– first frame in a movie is rendered incrementally
Scripts attached to movie clips / buttons execute when event occurs
© Anselm Spoerri
ActionScript Terminology
Objects are collections of properties and methods
Methods are functions assigned to an object
Instances are objects that belong to a certain class
Instance names are unique names that allow you to target
movie clip instances in scripts
 Use Property inspector to assign instance names to instances on Stage.
 “this” to movie clips
Target Paths = Hierarchical Addresses
movie clip instance names, variables, objects in movie
– Use target path to direct action at a movie clip or to get or set variable value
_root.stereoControl.volume
© Anselm Spoerri
Dot Syntax “.”
Indicate the properties or methods related to an object or movie clip
Used to identify target path to a movie clip, variable, function, or object
movieClip._x
movieClip._alpha
movieClip._xscale
movieClip._visible = true;
_parent.movieClip.play ();
© Anselm Spoerri
Defining a Function
// global
_global.myFunction = function (x) {
return (x*2)+3;
}
// local
function sqr(x) {
return x * x;
}
© Anselm Spoerri
MovieClip – Event Handler Actions and Methods
Event handler actions
Event handler methods
onClipEvent (load)
onLoad
onClipEvent (enterFrame)
onEnterFrame
onClipEvent (mouseDown)
onMouseDown
onClipEvent (mouseUp)
onMouseUp
onClipEvent (mouseMove)
onMouseMove
onClipEvent (keyDown)
onKeyDown
onClipEvent (keyUp)
onKeyUp
onPress
onRelease
onRollOver
onRollOut
© Anselm Spoerri
Step 0 – Download files, Launch Flash, Create Document
Create folder “mp12” in “My Documents” folder
Download Files
http://scils.rutgers.edu/~aspoerri/Teaching/MPOnline/Lectures/Lecture12/stepbystep/
Launch Flash
Open File “Step0.fla”
Using Grid, Rulers and Guides
–
–
Rulers
View > Rulers
Guides
– View > Guides > Show Guides
© Anselm Spoerri
Step 1 – Create Global Function
Insert Layer “functions” in first scene “Bilbao” to
contain global functions
Want to create function that changes transparency and scale of
movie
1) Open Actions Window
2) Enter function definition
_global.changeVisuals = function (movieClip, alpha, scale) {
movieClip._alpha = alpha;
movieClip._xscale = scale;
movieClip._yscale = scale;
}
© Anselm Spoerri
Step 2a – Create Secondary Navigation Buttons Using ActionScript
1) Create “Movie” Symbol = “Furcup Button”
2) Create Button Background and Text
3) Create Secondary Navigation Area in “Meret” Scene
4) Add instance of “Furcup Button” movie clip to “Meret”
scene and name it “Furcup”
5) Select “Furcup” instance
6) Open Actions window
© Anselm Spoerri
Step 2b – Create Secondary Navigation Buttons Using ActionScript
With “Furcup” movie clip instance selected, add in Actions Window
onClipEvent (load) {
var alphaOut = 50;
var alphaOver = 75;
var alphaPress = 100;
var scaleOut = 100;
var scaleOver = 110;
var scalePress = scaleOver;
// set transparency
this._alpha = alphaOut;
this.onRollOver = function () {
trace ("Over");
changeVisuals (this, alphaOver, scaleOver);
}
}
© Anselm Spoerri
Step 2c – Create Secondary Navigation Buttons Using ActionScript
onClipEvent (load) {
var alphaOut = 50;
var alphaOver = 75;
var alphaPress = 100;
var scaleOut = 100;
var scaleOver = 110;
var scalePress = scaleOver;
// set transparency
this._alpha = alphaOut;
this.onRollOver = function () {
trace ("Over");
changeVisuals (this, alphaOver, scaleOver);
}
this.onRollOut = function () {
trace ("Out");
changeVisuals (this, alphaOut, scaleOut);
}
this.onPress = function () {
trace ("Press");
changeVisuals (this, alphaPress, scalePress);
_parent.gotoAndStop("Furcup");
}
}
© Anselm Spoerri
Step 3a – Label Keyframe, Create “DOWN” Button
1) Create layer = “labelled”
2) Select frame = 20, Insert Keyframe and Name it
“Furcup”
3) Add “stop ();” to “actions” layer at frame = 20
(need to add insert keyframe)
3) Insert Keyframe at frame = 20 in layer “furcup”
4) Select instance of movie clip and name it
“FurcupDown”
© Anselm Spoerri
Step 3b – Modify attached ActionScript
Modify ActionScript attached to “FurcupDown” instance
var scalePress = 120;
this._alpha = alphaPress;
this._xscale = scaleOver;
this._yscale = scaleOver;
this.onRollOver = function () {
trace ("Over");
changeVisuals (this, alphaPress, scaleOver);
}
this.onRollOut = function () {
trace ("Out");
changeVisuals (this, alphaPress, scaleOut);
}
this.onPress = function () {
trace ("Press");
changeVisuals (this, alphaPress, scalePress);
_parent.gotoAndStop("Furcup");
}
© Anselm Spoerri
Step 4a – Create “Disjointed” Rollover
Create “Furcup Animation”
1) Import “Furcup” image and convert to Graphic Symbol
2) Create new movie clip symbol called “Furcup Animation”
3) Create Animation
(make sure image expands from origin of movie clip).
4) Add instance “Furcup Animation” to “Meret” scene
at frame = “Furcup”
5) Name instance “FurcupImage”
Create “Furcup Text"
1) Create new movie clip symbol called “Furcup Text”
2) Create Text
3) Add instance “Furcup Text” to “Meret” scene
at frame = “Furcup”
5) Name instance “FurcupText”
© Anselm Spoerri
Step 4b – Create “Disjointed” Rollover
Make “FurcupText” Invisible
1) Select “actions” layer at frame = 20
2) Add ActionScript
FurcupText._visible = false;
© Anselm Spoerri
Step 4c – Create “Disjointed” Rollover
Add “Disjointed Rollover” to “FurcupImage”
Select “FurcupImage” instance and in Actions window
onClipEvent (load) {
this.onRollOver = function () {
trace ("Over");
_parent.FurcupText._visible = true;
}
this.onRollOut = function () {
trace ("Out");
_parent.FurcupText._visible = false;
}
this.onPress = function () {
trace ("Press");
}
}
© Anselm Spoerri
Download