Search tutorials
A very often used and much preferred method of using this is also with the with function. You input a movieclips instance name into the with parameter, and then all the code within that function is run as if it were on the MC itself. The hitTest would then look much simpler. For example, my last line of code could be changed to look like this:
(use the arrow keys to navigate)
See the FLA for the source code.
As can be seen, when you move right or left, only the xMin and xMax values change, and when moving upwards or downwards, only the yMin and yMax values change. The increment and decrement is always by 5, as that is the speed of movement of the square. Since the squares width is 16, the difference between the xMax and xMin and the yMax and yMin is always 16 as well. When the square hits the inner walls of the blue box, it stops moving. What you should notice within the FLA is that the walls are all one big movieclip. Whereas when using a simple hitTest, the empty area between the walls would be accounted for, using hitBounds sort of removes this horrible bounding box. This is just one reason why getBounds is so great.
To really understand getBounds, just think about how it returns 1 numeric value. This value can then be used and manipulated wherever you want, including the hitTest function. It takes a bit of practice, but its actually quite simple, and it makes sense. Once you understand it, using it will become natural. A good idea would be to check the sample file given by Macromedia Flash entitled Maze.fla. Good luck!
~Tutorial by Adamo Maiorano~
~kazumakun1@hotmail.com~
with(circle) { if(square.hitTest(getBounds(_root).xMin, _y, true)) { } }Notice that all the spots that once said circle are now gone, and are placed simple into the with parameter. This simplifies the work. Here is an example:
» Level Intermediate |
Added: 2006-01-04 Rating: 9 Votes: 13 |
» Author |
I have a passion for Actionscript. |
» Download |
Download the files used in this tutorial. |
Download (0 kb) |
» Forums |
More help? Search our boards for quick answers! |