The very first time we click the top scroll button, there is no numerical value assigned to the variable up_last_click. The line of code that defines up_last_click does exist, but Flash hasn't worked far enough down in the code to encounter it yet. Since up_last_click is a yet undefined variable, up_last_click evaluates to a value of "null" the first time the "if" condition is checked. Since "null" cannot be subtracted from up_first_click, the entire "if" argument is evaluated to a "null," the "if" returns "false," and the embedded action is skipped over.
Keep in mind that this "if" action is only voided the very first time the scroll button is pressed. When Flash reaches the "else" statement, its embedded action is executed, triggering the button's continuous feedback loop. Then, Flash FINALLY assigns a numerical value to up_last_click, after encountering the expression "up_last_click = up_first_click."
Now, to understand how the double-click feature works when we go to click the button a second time, we need to look at the variable declaration structure in this script. Let's say, for the sake of simplicity, that you click the button for the first time exactly 5 seconds after the Timer began counting. Since there are 1000 ms to every 1 second, up_first_click is assigned the initial numerical value 5000. Then, since, up_last_click evaluates to "null," the "if" statement is skipped, yadda yadda yadda, and we eventually come to another variable declaration; "up_last_click = up_first_click." This expression passes the value of 5000 from up_first_click to up_last_click, and each variable momentarily is assigned the same value (5000 in our example). In essence, up_last_click is recording the initial Timer value to use it the next time the script runs.
|» Level Intermediate|
Rating: 8 Votes: 94
|Me Like Flash 5. Flash 4 good. Flash 5 better.|
|Download the files used in this tutorial.|
|Download (229 kb)|
|More help? Search our boards for quick answers!|