Обнаружение столкновения JavaScript не работает с простым прямоугольником - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать случайный фон под нагрузкой с треугольниками. Но я пытаюсь исключить любое столкновение, и если оно есть, отзовите функцию createDiamond().

Я пробовал это с различными функциями из: Javascript: обнаружение столкновений

Вот мой текущий код: https://codepen.io/mikeyhaklander/pen/OeONOz Мой текущий код столкновения:

    {
    (x <= cx && x + size >= cx && y <= cy && y + size >= cy) 
 || (x <= cx + cSize && x + size >= cx + cSize && y <= cy && y + size >= cy) 
 || (x <= cx && x + size >= cx && y <= cy + cSize && y + size >= cy + cSize) 
 || (x <= cx + cSize && x + size >= cx + cSize && y <= cy + cSize && y + size >= cy + cSize)
    }

При обновлении кодового маркера вы можете видеть, что он все еще иногда сталкивается.

1 Ответ

0 голосов
/ 28 июня 2019

Я все исправил.Я рассчитывал с неправильными размерами.В CSS я использовал большие размеры, чем я дал объект с JavaScipt.И тогда я получил правильное столкновение по этой формуле:

if ( x < cx + cSize && x + size > cx && y < cy + cSize && y + size > cy ) {
      return createDiamond(diamondArray, bgHeight, parent)
    }
...