Круглый понг javascript проблема столкновения - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь создать круговую игру в понг в javascript. Круговой понг - это когда игрок, который последним коснулся мяча, получит очко, если мяч выйдет за пределы игровой площадки. Шары будут отскакивать от шара, который находится посередине, но мой метод столкновения не работает. Я застрял довольно долго, я продолжаю сталкиваться с той же проблемой. Кажется, есть проблема с хитбоксом весла, даже если я перемещаю весло, мяч все равно сталкивается с исходным положением весла, кажется, хитбокс весла не движется, но сам весло. Надеюсь, вы понимаете мою проблему и можете помочь!

function collide(shape, ball){
 if (ball.pos.x > (shape.pos.x + circle.radius  - shape.size.x/2)
 && ball.pos.x < (shape.pos.x + circle.radius + shape.size.x/2)
 && ball.pos.y > (shape.pos.y - shape.size.y / 2)
 && ball.pos.y < (shape.pos.y + shape.size.y / 2))
{
    ball.vel.x *= -.38 * ball.vel.x;
    ball.vel.y *= -.38 * ball.vel.y;
}}

Начальная позиция весла - canvasWidth / 2, но для рисования весла координата x будет canvasWidth / 2 + circle.radius, поэтому весло может вращаться по кругу. Вот почему я использую shape.pos.x + circle.radius, но сейчас я запутался и не знаю, как исправить столкновение. У кого-нибудь есть идеи, как я могу это исправить?

Я также загрузил его на JSFiddle, чтобы вы могли протестировать его самостоятельно: https://jsfiddle.net/chernovd2411/48aqhp9y/40/ Заранее спасибо, chernovd2411

...