Working on another side project (Breakout clone), and am having an
interesting problem with hitDetect. The paddle and ball are detecting
hits with each other just fine, but the same code isn't working for the
bricks. The ball, paddle, and brick are all attached dynamically.
Here's the initialize code for the player and paddle:
_root.attachMovie("ball", "ball", 2);
ball._x = 275;
ball._y = 200;
_root.attachMovie("paddle", "player", 1);
player._x = 200;
player._y = 362;
Here's the code for the bricks:
yPos = 150.8;
xPos = 138.3;
zBuff = 3;
for (col = 0; col < 14; col++)
{
for (row = 0; row < 8; row++)
{
_root.attachMovie("brick", "brick" + row + "_" +
col, zBuff);
currentBrick = eval("brick" + row + "_" + col);
currentBrick._x = xPos;
currentBrick._y = yPos;
yPos = yPos - 8;
zBuff++;
}
xPos = xPos + 21;
yPos = 150.8;
}
The hit test routine for the ball/paddle (which works) uses:
if (ball.hitTest(player))
etc. etc.
The routine for the ball/brick (which is not working) is a sample one I
have for just one brick test right now:
ball.checkBricks()
{
if (ball.hitTest(_root.brick0_0))
{
_root.brick0_0.removeMovieClip();
}
}
I've tested the _root.brick0_0.removeMovieClip() line on its own, and that
works fine (it removes the lower left brick in question perfectly). Its
the hitTest that's not working. I tried setting it to
this.hitTest(_root.brick0_0) and that incorrectly returns true all
the time (even when the program first starts up and the ball hasn't
started moving yet).
Am I approaching something wrong with levels? I know I have the brick
name right (brick0_0), and hitTest is working fine for the Paddle and Ball
itself. Really confusing.
Marty
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com