@VPank
Бессмертие ради знаний. Знания ради бессмертия.

Есть ли готовое решение на js для разлета и столкновений содержимого внутри блока?

Очень сомнительно, что такое на css возможно, но мало ли. Суть в том, что нужно чтобы при клике в определённом блоке внутри которого есть еще разные блоки, они все начинали разлетаться внутри него и биться об границы, сталкиваться друг с другом. Существуют ли уже готовые решения такого рода?

UPD: Немного поразмыслив над данным вопросом в голове есть пару идей от которых пока отталкиваюсь. Основная это определить позиции каждого из элементов в блоке и задать ему абсолютную позицию. Соответственно дальше уже изменять его положение в неком рандомном направлении (тут возникает вопрос как создать данное направление, не могу же я использовать градус относительно оси. Соответственно нужно написать формулу по типу 1px left 1px top в интервал для первого элемента, что вроде как равноценно -45 градусам относительно вертикальной оси и так поочерёдно для всех элементов но в других направлениях. Тогда возникает вопрос смены направления при столкновении с границами. По сути я могу просто изменить направление на 90 градусов таким же методом, изменяя сами стороны, но как определить в какую именно сторону нужно произвести изменение. Тоесть мне нужно ведь определить под каким углом я столкнулся с определённым краем. Ну и ко всему прочему провести всё тоже самое и по отношению к столкновению между объектами. Но тут у меня вообще идей нет как им "полигоны" эмитировать).

Сталкивался может кто?
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Есть box2d-js box2d-js.sourceforge.net/index2.html
matter-js brm.io/matter-js
и другие https://www.google.com/search?q=js+physics+animation

Если не полигоны, а частицы, то все проще и шустрее: https://vincentgarreau.com/particles.js/
(гуглить "js particles")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы