8.2. Changing Text at Runtime

Problem

You want to customize text field at runtime in order to display text retrieved from a text file, a database, user input, and so on.

Solution

Set the value of the text field’s text property.

Discussion

Every dynamic and input text field has a text property that controls what is displayed to the user at runtime. You can use ActionScript to set the text property for a text field, and the value you assign to the property is displayed:

	// Display the assigned string value in the text field.
	tMessage.text = "Don't think about pink crocodiles.";

You can also use variables and more complex expressions on the right side of the equals sign (known as an assignment statement):

	// Assign a value to a variable, sUsername.
	var sUsername:String = "Fred";

	// Use the sUsername variable, and concatenate its value with a quoted string
	// to create a dynamic value to assign to the text field. In this case, the
	// text field displays: "Fred, don't think about pink crocodiles.";
	tMessage.text = sUsername + ", don't think about pink crocodiles.";

If using a multiline text field, you can add line breaks using a newline character. You can use either the special characters \n or \r within the quoted string, or you can use the ActionScript constant, newline. Both are equivalent, but you must use the \n or \r character within quotes, and you must use the newline constant outside of quotes.

 // The following two lines are equivalent, but the first is more convenient. tMessage.text ...

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.