![]() |
Отталкивание от окружности
Вобщем вот вопрос:
Есть мув h, его окружает окружность(мув) его имя s, как при набегании мува h на мув s отталкивать его?(чтобы мув h не выбежал за пределы шарика. Может кажется что все просто но ето не так. Я пытался длеать зависимость от угла поворота, тоесть если повернут вверх идет вниз, но нечего хорошего из етого не вышло! ВОбщем надеюсь на вашу помощь. |
попробуйте так:
1 нормаль к окружности (нх, ну) = (х/радиус, у/радиус) 2 касательная - нормаль под 90° - (-ну, нх) 3 проэкция скорости на касательную - (скорость скалярно на касательную) * (-ну, нх) 4 новая скорость = старая скорость - 2 * (старая скорость - проекция из 3) |
Считайте расстояние от мувика до центра окружности, если оно больше радиуса, то -- стоп, если меньше, то перемещаем в следующую позицию. Как отталкивать сами додумайте =)
|
Вложений: 1
дословно по моему посту выше:
|
Фух спасибо :) но суть вопроса была не в этом, я к примеру привел окр.! мне нужно найти столкновения с неправильной формой(я забыл это написать в вопросе)
Теперь приведу более подробный пример. Допустим есть опять круг, его окружает скала(понятно что неправильной формы) как найти столкновения между ними?(допустим можно воспользоваться hitTest) ну допустим я нашел точку пересечения. Как мне теперь сделать отталкивание круга от нее.Как узнать сверху или снизу мув соединился и тд. Но всеравно спасибо :) приму к сведению может когда понадобится соединить с окр. |
|
есть несложный код столкновения со сложной поверхностью, который редко используют по чему-то(и, вообще, в нете гораздо больше дурацких примеров столкновения, которые только с толку сбивают).
там, правда нужно посидеть и понять суть, чтоб подстроить под ситуацию,но это мелочи. Скажите куда кинуть исходник и, вообще, куда здесь кидать файл, если кто-то попросил или я хочу показать его другим? |
Жмите на кнопку "Расширенный режим".
|
Цитата:
|
ок. позже скину исходник,
но могу сказать, что столкновение там построено на следующем.может это то, что надо. if (стена.hitTest(герой._x, герой._y, true)){движение героя меняется на противоположное} странно, что многие этим не пользуются. к стати. пета4ок, каким образом происходит перемещение круга-героя(клавиши, мышь)? |
| Часовой пояс GMT +4, время: 13:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.