7.15. Calling ActionScript Functions from Static Text

Problem

You want to invoke an ActionScript function in the current movie when the user clicks on static text.

Solution

Apply a hyperlink to the text (see Recipe 8.12) in which the URL is in the form of asfunction:actionscriptFunctionName[, param1, parame2…paramN].

Discussion

In 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 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: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;
	}

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 ...

Get Flash 8 Cookbook 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.