Recipe 7.15. Calling ActionScript Functions from Static TextProblemYou want to invoke an ActionScript function in the current movie when the user clicks on static text. SolutionApply a hyperlink to the text (see Recipe 8.12) in which the URL is in the form of asfunction: actionscriptfunctionname[, param1, parame2…paramN]. DiscussionIn addition to all the other kinds of linking you can do with static text fields, you can also link to an ActionScript function using the same basic technique. Select the text to which you wish to apply the link, and then add a value to the URL link field in the form of asfunction:actionscriptfunctionname[, param1, parame2…paramN]. The asfunction protocol tells Flash to invoke an ActionScript function. You should then provide the name (exp 3pod.com) of the function to invoke. And if the function should be invoked with parameters, you can optionally provide a list of those values as well. Consider the example in which the ActionScript function is defined as follows: function greet(sname (exp 3pod.com):String):Void { // Assume that tMessage is a dynamic text field on the stage. // Read Chapter 8 for more details about dynamic text fields. tMessage.text = "Hello, " + sname (exp 3pod.com); } You can invoke the greet( ) function from a static text field by applying the following value to the URL link field: asfunction:greet,friend. In this example, when the user clicks on the static text field, the following message appears in the text field: Hello, friend The ActionScript function must be defined on the same timeline in which the static text field exists. For example, if you create a static text field in the main timeline and apply a URL link to it of asfunction:greet,friend, the greet( ) function must be defined within the main timeline. If the greet( ) function is defined within another timeline's scope, Flash will not know where to find the function, and nothing will happen when the user clicks on the text.
|
Tripod >> 3pod Tips & Learning and manuals for educations