Accessibility

Flash Article

 

Flash ActionScript 2.0 Learning Guide


Table of Contents

Understanding Data

Data refers to the numbers, strings, and other information that you can manipulate within Flash. Using data is usually essential when you create applications or websites. You also use data when you create advanced graphics and script-generated animation, and you might have to manipulate values that you use to drive your effects.

You can define data in variables within Flash, or you can load data from external files or sites using XML, web services, and so on. You can store data in a database and then represent that information in several ways in a SWF file. This can include displaying the information in text fields or components or displaying images in movie clip instances.

Some of the most common kinds of data include strings (a sequence of characters, such as names and passages of text), numbers, objects (such as movie clips), Boolean values (true and false).

Data Types

A data type describes a piece of data and the kinds of operations that you can perform on it. You store data in a variable (see the Variables section) below. You use data types when creating variables, object instances, and function definitions to assign the type of data you're working with. You use many different data types when you write ActionScript.

You can classify different types of data using a data type to assess how you can use the data. For example, you can perform mathematical operations with number data, but you cannot meaningfully rotate a number. A movie clip, on the other hand, can be rotated, but you cannot meaningfully multiply a movie clip by another movie clip.

ActionScript 2.0 enables you to formally specify the data type for variables, parameters, and function return types, and tell Flash what classification of data can be used in that context. For example, if you declare a variable as a String data type then you can assign only strings to that variable. If you attempt to assign a number to the variable Flash will throw a compiler error.

ActionScript has two basic classifications for data types: primitive and complex.

  • A primitive value (or primitive data type) is a value that ActionScript stores at the lowest level of abstraction, which means that operations on the primitive data types are generally faster and more efficient than operations carried out on complex data types. For example, Boolean, number, and string values are all primitive data types, as are the values null and undefined.
  • A complex value (or complex data type) is a value that is not a primitive value and that references the primitive values. Often, these are called reference data types. Complex values belong to the Object data type or a data type that is based on the Object data type. Data types that define sets of complex values include Array, Date, Button, MovieClip, and XML. For more information on these complex data types, see their entries in the “ActionScript 2.0 Language Reference” in Flash LiveDocs.

Variables that contain primitive data types behave differently in certain situations than those containing complex types. For more information, see the following Flash LiveDocs sections:

  • About Variables
    (Learning AS 2.0 > Data and Data Types > About Variables)
  • Using Variables in a Project (Learning AS 2.0 > Data and Data Types > About Variables > Using Variables in a Project)
  • For information on the basic data types that you can use in your Flash applications, see About Primitive and Complex Data Types.
    (Learning AS 2.0 > Data and Data Types > About Data Types > About Primitive and Complex Data Types)

All data types and classes are fully defined in the “ActionScript 2.0 Language Reference” in Flash LiveDocs.

Variables

A variable is a container that holds information. The following ActionScript shows what a variable looks like in ActionScript:

var myVariable:Number = 10;

This variable holds a numerical value. The use of :Number in the previous code assigns the type of value that variable holds, called data typing. For more information on data typing, see Assigning Data Types below.

The container (represented by the variable name) is always the same throughout your ActionScript, but the contents (the value) can change. You can change the value of a variable in a script as many times as you want. When you change the value of a variable while the SWF file plays, you can record and save information about what the user has done, record values that change as the SWF file plays, or evaluate whether a condition is true or false. You might need the variable to continually update while the SWF file plays, such as when a player's score changes in a Flash game. Variables are essential when you create and handle user interaction in a SWF file.

Variables can hold different types of data; for more information, see About Data Types in LiveDocs (Learning AS 2.0 > Data and Data Types > About Data Types). The type of data that a variable contains affects how the variable's value changes when you assign that value in a script.

Typical types of information that you can store in a variable include a URL (String type), a user's name (String type), the result of a mathematical operation (Number type), the number of times an event occurred (Number type), or whether a user has clicked a particular button (Boolean type). Each SWF file and object instance (such as a movie clip) has a set of variables, with each variable having a value independent of variables in other SWF files or movie clips.

To view the value of a variable, use the trace() statement to send the value to the Output panel. Then, the value appears in the Output panel when you test the SWF file in the test environment. For example, trace(hoursWorked) sends the value of the variable hoursWorked to the Output panel in the test environment. You can also check and set the variable values in the Debugger in the test environment.

For more information on variables, see the following topics in the About Variables section of Learning ActionScript 2.0 volume of the Flash documentation (available in Flash Help and in Flash LiveDocs at Learning ActionScript 2.0 > Data and Data Types > About Variables):

  • About Declaring Variables
  • About Assigning Values
  • About Naming Variables
  • Using Variables in an Application
  • About Variables and Scope
  • About Loading Variables
  • Using Variables in a Project

Assigning Data Types:

You can explicitly declare the object type of a variable when you create the variable, which is called strict data typing. If you do not explicitly define an item as holding either a number, a string, or another data type, Flash Player tries to determine the data type of an item when it is assigned (at runtime). For information on strict data typing, and examples, see the following topics in the About Data Types section of Learning ActionScript 2.0 volume of the Flash documentation (available in Flash Help and in Flash LiveDocs at Learning ActionScript 2.0 > Data and Data Types > About Data Types):

  • About Assigning Data Types and Strict Data Typing and its subsection, Assigning a Data Type
  • About Type Checking