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 ...
Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.