Functions, which are known as methods in Java, are named
blocks of code that can be called by using the name of the function. This
allows you to create a block of code that can be re-used without having to
duplicate the code every time it is used. Functions are defined by using the
function keyword. Functions can also be given parameters. Parameters are values
that the function can use. You can have a function use as many parameters as
you need by separating them with commas. Functions may also optionally return a
value by using the return keyword. An example of a function would be:
function square(number) {
return number *
number;
}
This function would simply return the square of the number
passed to it. To use this function, you simply need to call it, like this:
x = square(2);
The parameter passed can be a variable or it can be a
constant value. A constant being any value that will never change, such as the
2 above.
It is also possible to assign a function to a variable,
allowing you to pass a function to a another function. In the earlier section
you seen a function being created in-line to be assigned to a variable. To
assign an already existing function to a variable you simply uses the
function’s name without any parentheses and followed by a semi-colon.
variable_holding_square = square;
Objects are similar to functions. Objects are essentially a
combination of variables combined with the functions used to manipulate those
variables. This, along with the topic of creating objects, will be covered in
chapter 5. However, using existing objects is very common in JavaScript and a
requirement of Create.js so we will briefly have to cover using existing
objects.
While it is possible to create an empty object and add
things to it to make it a unique object, more often you will be creating
objects of a certain type called a class. You use a class by creating an
instance of it. The variables in every instance are unique to that instance.
You can, in theory, have as many instances of a class as you wish (in reality
you have a limited amount of memory so you are limited to the number of
instances). In fact, your movie is itself an instance of the MovieClip class.
To create an instance of a movie clip you can quite often
just use Animate to drag the object (be it dynamic text, a movie clip, or a
component) onto the current frame and give it an instance name using the
properties panel. Some classes are not visual in nature so you have to manually
create them using the new operator as follows.
variable_name = new ClassName();
Objects do take up memory. This memory will continue to be
used until all references to an object have been removed. To remove an object
(or at least one of the reference to the object) you use the delete keyword.
All variables that are assigned to that object need to be deleted (or changed
to refer to something else) before the object will be removed from memory.
delete variable_name;
To access a variable or function that belongs to an object,
you use periods. An exception to this is if you are writing code within the
class in that case, you refer to the object using this. Some classes, such as
Math, have what is known as static methods. These are functions that can be
called without having to create an instance of the object by simply using the
name of the class Here are some examples.
otherMovieClip.gotoAndPlay(1);
Math.cos(angle);
otherMovieClip._x = 23;
otherMovieClip._y = 32;
this.gotoAndPlay(“labelToPlay”);