Создание игр на JavaScript, столкновение двух шаров, столкновение кругов, пересечение круга с кру

Автор Maksim Inshakov
Создание игр на JavaScript, столкновение двух шаров, столкновение кругов, пересечение круга с кру

математический получается — это вот такие вот простейшим образом слушайте мне здесь в личку порекомендовали провести.

Стрим Ну типа в реальном времени чтобы люди могли заходить смотреть из окна что-нибудь будем создавать не знаю нормально или нет. Если, что пишите в комментах. И так сегодня я бы хотел поговорить с вами о столкновениях столкновения типа шар кошару.

Ну давайте рассмотрим типичные примеры столкновение на движке.

Я не знаю. Здесь выбрал на самом деле столкновение они будут основываться на функциях самого движка. Ну крайний случай на 1 и так для начала создадим. Круга и так. Мы создали сами, но не сейчас рисуется у нас в одной и той же позиции. Давайте позиции первого. Круга мы с вами. Будем изменять. Ну собственно изменить позицию. Я хочу относительно курсора мыши поэтому здесь просто пишем сет позиция обязательно по центру и тут пишем Mouse position вот таким вот образом, что мы получили мы получили один круг здесь и второй круг который позирует позиционируется у нас в координаты курсора своим центром и так проверить столкновение вот подобного плана объекта чтобы они со всех сторон у нас обрабатывать одинаково стандартная функция движка на самом деле здесь не подойдёт. Почему Давайте расскажу и так один у нас будет другу Static Block неважно статический — это бокс и динамические и такси 11 2 смотрите, что мы с вами видим. Ну во-первых то, что боксы в обоих прямоугольный то первого. Круга ему 2 боксы — это квадрат квадрат. Круг Это — это он всегда вписываются в квадрат. Круг нельзя писать прямоугольник в прямоугольник можно вписать сегодня речь пойдет именно о кругах и так хорошо как же мы хотим проверить столкновение смотрите если столкновения будет происходить вот здесь-то вот на этом моменте уже сработает любой функции столкновение подвижки есть — это будет из intersect или — это будет estatic intersect. Ну в общем неважно в любом случае с работает. Анапа боксом в нашем случае нужно нам сделать так чтобы столкновение отработал только вот на этом моменте когда по факту столкнулись сами круги и здесь нам поможет математика. Ну во-первых как именно нам поможет если есть у вас какие-то мысли по этому поводу можете записаться в комментариях до того как я продолжил договор если ваша точка зрения. без моей помощи потом! удалить я уже видел много раз, что комментарий человек пишет потому, что у меня уведомления приходит сразу, но отвечаю я не буквально 10 15 минут поэтому когда я захожу уже в YouTube чтобы ответить то вижу, что комментариям уже этого нет. Скажи мне тоже так бывает. Ну хорошо есть у нас два. Круга как нам сделать столкновение ну для начала смотрите у нас есть у обоих кругов радиус. Что такое радиус и роста центра. Круга до любой её точки на поверхности зная этот радиус мы с вами можем предположить, что любая точка которая у нас находится вот здесь вот она всегда будет равна удалена от центра на этот самый радиус и у нас есть два. Круга по сути получается у нас есть два радиуса. Что — это значит давайте. Подставь Два прямоугольника вот таким вот образом смотрите у нас есть один радиус и у нас есть 2 радиус у обоих этих кругов, что мы можем с вами сделать зная эти радиусы. Ну логично наверное. Хотя как вот как вот как логично логично наверное только для тех кто реально знает математику и геометрию. Ну ладно не суть предположим, что всё-таки — это логично хорошо зная два радиуса этих двух кругов мы можем их сложить то есть мы можем сложить радиус круга C1 и радиус круга se2 и получим какое-то число. Давайте этим займёмся и так после позиция обязательно после я вижу здесь переменного например сон которая будет равняться такого значению C1 радиус + C2 радиус и. Давайте его водить волк то здесь могут водиться одно и тоже число всегда отдыхает почему. Ну да естественно ты сначала написал и так мы сегодня получили 100 и — это логично потому, что радиус 1 равен 50 радиус которого равен 55 + 50 — это будет 100. Но если у нас с тобой. Пускай имеет радиус 48 длина круга счёта мы получили 98 всё то есть мы видим, что — это число меняется хорошо, что ещё мы с вами можем сделать вот я в начале ролика сказал, что мы будем с одной-единственной функции мешка для этого всего дела смотрите между этими двумя шарами кругами есть какое-то расстояние. Что такое радиус ещё раз радиус и расстояние от центра. Круга до любой её точки на поверхности. Да любой то есть неважно. С какой будем смотреть всегда. Да радиуса от поверхности. Круга расстояние будет одинаковым, что мы можем с вами сделать сейчас смотрите мы знаем, что в этих кругов есть центры допустим сейчас их центры очень близко сейчас их центры очень далеко может перемена меняться и так как она реально может меняться мы с вами можем — это тоже взять переменную и так здесь и напишу dist равняется и теперь воспользуемся как раз функции ядрышка чтобы не считать самостоятельно — это можно посчитать по формуле. Ну раз уже — это есть дискета. Почему бы не воспользоваться и так здесь мы пишем обращение к объекту вектор get get distance здесь мы с вами можем передать две точки через точку. А и точку B, но так как у нас в нашем случае — это объекты там и не заморачиваться с получением экспозиция можем прям напрямую написать и 1 Get distance обязательно указываем отчёт идёт от центра объект Россия.

0 комментариев
0

Читайте также