mihael_p
16.09.2011, 12:09
Доброго времени суток всем. Проблема вот в чем : представьте, есть мяч и кирпич. Мяч, ударяясь об низ, верх и бок кирпича отскакивает как надо, но как только попадет в угол кирпича - он в него "влезает" и начинает "биться в истерике " пока не вылезет из него, вот код всей этой проверки :
if (brickObj != null && this.hitTestObject(brickObj))
{
if (this.y > brickObj.y && this.y < (brickObj.y + brickObj.height))
{
if (this.x < brickObj.x ||this.x > (brickObj.x+brickObj.width))
{
ballAngle = -180 - ballAngle;
}else
{
ballAngle = -ballAngle;
}
}
break;
}
else if (this.x > brickObj.x && this.x < (brickObj.x + brickObj.width))
{
if (this.y < brickObj.y || this.y > (brickObj.y+brickObj.height))
{
ballAngle = 180 - (180 + ballAngle);
}else
{
ballAngle = -ballAngle;
}
}
Подскажите как быть ?
this - это мяч
brickObj - кирпич
мяч : W:16 H: 16 (X:-8 , Y:-8)
кирпич : W:60 H:20 (X: 0 ,Y: 0)
if (brickObj != null && this.hitTestObject(brickObj))
{
if (this.y > brickObj.y && this.y < (brickObj.y + brickObj.height))
{
if (this.x < brickObj.x ||this.x > (brickObj.x+brickObj.width))
{
ballAngle = -180 - ballAngle;
}else
{
ballAngle = -ballAngle;
}
}
break;
}
else if (this.x > brickObj.x && this.x < (brickObj.x + brickObj.width))
{
if (this.y < brickObj.y || this.y > (brickObj.y+brickObj.height))
{
ballAngle = 180 - (180 + ballAngle);
}else
{
ballAngle = -ballAngle;
}
}
Подскажите как быть ?
this - это мяч
brickObj - кирпич
мяч : W:16 H: 16 (X:-8 , Y:-8)
кирпич : W:60 H:20 (X: 0 ,Y: 0)