Search tutorials
5. Now, left-click on the target Movieclip and write the following code in the Actions pane:
onClipEvent(load)
{
xcorrect=(_root.weapon._width/2);
ycorrect=(_root.weapon._height/2);
}
onClipEvent(enterFrame)
{
if (this.hitTest(_root.weapon._x,_root.weapon._y-ycorrect,true)==true)
{
_root.weapon.yspeed=0;
}
}
The syntax for hitTest is myMovieClip.hitTest(x, y, shapeFlag)
The shapeFlag takes two values true and false. True indicates that the HitTest is to be conducted on the actual shape of the calling MovieClip and not just the Bounding Box. The calling MovieClip is the MovieClip which calls the HitTest. In the above code, you can see that the target MovieClip has called the HitTest on the weapon Movieclip's X and Y coordinates.
The shapeFlag is a parameter for the calling movieClip target and not the weapon MovieClip. Since we want the bullet to hit the exact spot on the irregular MovieClip target, we set the shapeFlag to true.
Then we check wether the HitTest returns true or false. If it returns true, the bullet stops moving. This is just an example, you can perform any other task like hiding the bullet, etc.
if (this.hitTest(_root.weapon._x+xcorrect,_root.weapon._y,true)==true)
{
//steps to be taken
}
In the above example you can omit the ycorrect.
onClipEvent(load)
{
xcorrect=(_root.weapon._width/2);
ycorrect=(_root.weapon._height/2);
}
onClipEvent(enterFrame)
{
if (this.hitTest(_root.weapon._x,_root.weapon._y-ycorrect,true)==true)
{
_root.weapon.yspeed=0;
}
}
Explanation
The syntax for hitTest is myMovieClip.hitTest(x, y, shapeFlag)
The shapeFlag takes two values true and false. True indicates that the HitTest is to be conducted on the actual shape of the calling MovieClip and not just the Bounding Box. The calling MovieClip is the MovieClip which calls the HitTest. In the above code, you can see that the target MovieClip has called the HitTest on the weapon Movieclip's X and Y coordinates.
The shapeFlag is a parameter for the calling movieClip target and not the weapon MovieClip. Since we want the bullet to hit the exact spot on the irregular MovieClip target, we set the shapeFlag to true.
Then we check wether the HitTest returns true or false. If it returns true, the bullet stops moving. This is just an example, you can perform any other task like hiding the bullet, etc.
Note: If you are creating a bottom-top space shooter, you dont need to correct the X coordinate. If you are creating a left-right shooter, use the xcorrect as follows:
if (this.hitTest(_root.weapon._x+xcorrect,_root.weapon._y,true)==true)
{
//steps to be taken
}
In the above example you can omit the ycorrect.
» Level Intermediate |
Added: 2006-03-18 Rating: 5.67 Votes: 6 |
» Author |
Studying in College, 19 years old |
» Download |
Download the files used in this tutorial. |
Download (0 kb) |
» Forums |
More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.
Comments
There are no comments yet. Be the first to comment!