![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
The hitTest()
method of the MovieClip class detects collisions in a SWF file. 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 hitTest()
, you can determine these results.
You can use the parameters of hitTest()
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
.
Move the mouse pointer over the shape in the SWF file to test the collision. The results of the hitTest()
method are returned in the text field.
You can also use hitTest()
to test a collision between two movie clips.
To test the collision, drag the car movie clip so that it touches the parking area movie clip. The results of the hitTest()
method are returned in the text field.
The following procedures show how to detect collision using the car example.
box
as the instance name in the Property inspector.status
as the instance name in the Property inspector.box.onEnterFrame = function () { status.text = this.hitTest(_xmouse, _ymouse, true); }
The value true
is displayed whenever the mouse is over a nontransparent pixel.
car
and area
.status
as the instance name in the Property inspector.area.onEnterFrame = function () { status.text=this.hitTest(car); } car.onPress = function (){ this.startDrag(false); updateAfterEvent(); } car.onRelease = function () { this.stopDrag(); }
Whenever the bounding box of the car intersects the bounding box of the area, the status is true
.
For more information, see MovieClip.hitTest()
.
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |