|
|
|
|
| Tutorial |
Creating Interaction with ActionScript
Detecting collisions
The hitTest method of the MovieClip object detects collisions in a movie. It checks to see if an
object has collided with a movie clip and returns a Boolean value (true or false).
There are two cases in which you would want to know whether a collision has occurred: to test if
the user has arrived at a certain static area on the Stage, and to determine when one movie clip has
reached another. With the hitTest method, you can determine these results.
You can use the parameters of the hitTest method to specify the x and y coordinates of a hit area
on the Stage, or use the target path of another movie clip as a hit area. When specifying x and y,
hitTest returns true if the point identified by (x, y) is a nontransparent point. When a target is
passed to hitTest, the bounding boxes of the two movie clips are compared. If they overlap,
hitTest returns true. If the two boxes do not intersect, hitTest returns false.
“True” appears in the text field whenever the mouse pointer is over the car body (see shape_flag.fla).
You can also use the hitTest method to test a collision between two movie clips.
“True” appears in the text field whenever one movie clip touches the other (see hit_test.fla).
The following procedures show how to detect collision using the car example.
To perform collision detection between a movie clip and a point on the Stage (see shape_flag.fla):
1 Select a movie clip on the Stage.
2 Create a dynamic text box on the Stage and enter status as the instance name in the
Property inspector.
3 Choose Window > Actions to open the Actions panel if it is not already visible.
4 In the Actions toolbox, click the Actions category, click Variables, double-click set variable,
and name the variable _root.status. Then select the Expression check box for Value and
enter the following code in the Value text box:
hitTest(_root._xmouse, _root._ymouse, true)
Flash automatically adds the onClipEvent handler.
5 Highlight the onClipEvent action and select enterFrame as the event.
6 Choose Control > Test Movie and move the mouse over the movie clip to test the collision.
The value true is displayed whenever the mouse is over a nontransparent pixel.
|
|
|
|
|
|
| Link Partners: Asia florist, Flowers to India, Hong kong flowers, Site submit, Cheap web hosting, China florist, Japan florist |
|