Variable Scope
Earlier we learned how to create variables and retrieve their values using variables attached to a single frame of the main timeline of a Flash document. When a document contains multiple frames and multiple movie clip timelines, variable creation and value retrieval becomes a little more complicated.
To illustrate why, let’s consider several scenarios.
Scenario 1
Suppose we were to create a variable, x, in frame
1 of the main timeline. After creating x, we set
its value to 10:
var x; x = 10;
Then, in the next frame (frame 2), we attach the following code:
trace(x);
When we play our movie, does anything appear in the Output window? We created our variable in frame 1, but we’re attempting to retrieve its value in frame 2; does our variable still exist? Yes.
Tip
When you define a variable on a timeline, that variable is accessible from all the other frames of that timeline.
Scenario 2
Suppose we create and set x as we did in Scenario
1, but instead of placing the variable-setting code on frame 1
directly, we place it on a button in frame 1. Then, on frame 2, we
attach the same code as before:
trace(x);
Does Scenario 2 also work? Yes. Because x is
attached to our button, and our button is attached to the main
timeline, our variable is indirectly attached to the main timeline.
We may, therefore, access the variable from frame 2 as we did before.
Scenario 3
Suppose we create a variable named secretPassword on frame 1 of the main timeline. When the movie plays, the user must guess ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access