Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Отталкивание от окружности (http://www.flasher.ru/forum/showthread.php?t=105417)

PeTa4eK 15.12.2007 05:10

Отталкивание от окружности
 
Вобщем вот вопрос:

Есть мув h, его окружает окружность(мув) его имя s, как при набегании мува h на мув s отталкивать его?(чтобы мув h не выбежал за пределы шарика.
Может кажется что все просто но ето не так.
Я пытался длеать зависимость от угла поворота, тоесть если повернут вверх идет вниз, но нечего хорошего из етого не вышло! ВОбщем надеюсь на вашу помощь.

aQuestion 15.12.2007 12:55

попробуйте так:
1 нормаль к окружности (нх, ну) = (х/радиус, у/радиус)
2 касательная - нормаль под 90° - (-ну, нх)
3 проэкция скорости на касательную - (скорость скалярно на касательную) * (-ну, нх)
4 новая скорость = старая скорость - 2 * (старая скорость - проекция из 3)

udaaff 15.12.2007 14:06

Считайте расстояние от мувика до центра окружности, если оно больше радиуса, то -- стоп, если меньше, то перемещаем в следующую позицию. Как отталкивать сами додумайте =)

aQuestion 15.12.2007 15:55

Вложений: 1
дословно по моему посту выше:

PeTa4eK 16.12.2007 04:59

Фух спасибо :) но суть вопроса была не в этом, я к примеру привел окр.! мне нужно найти столкновения с неправильной формой(я забыл это написать в вопросе)
Теперь приведу более подробный пример. Допустим есть опять круг, его окружает скала(понятно что неправильной формы) как найти столкновения между ними?(допустим можно воспользоваться hitTest) ну допустим я нашел точку пересечения. Как мне теперь сделать отталкивание круга от нее.Как узнать сверху или снизу мув соединился и тд.
Но всеравно спасибо :) приму к сведению может когда понадобится соединить с окр.

udaaff 16.12.2007 12:52

http://livedocs.adobe.com/flash/8/ma...=00001958.html

an_games 16.12.2007 16:34

есть несложный код столкновения со сложной поверхностью, который редко используют по чему-то(и, вообще, в нете гораздо больше дурацких примеров столкновения, которые только с толку сбивают).

там, правда нужно посидеть и понять суть, чтоб подстроить под ситуацию,но это мелочи.

Скажите куда кинуть исходник и, вообще, куда здесь кидать файл, если кто-то попросил или я хочу показать его другим?

udaaff 16.12.2007 16:42

Жмите на кнопку "Расширенный режим".

†‡Paladin‡† 16.12.2007 16:50

Цитата:

Сообщение от aQuestion
дословно по моему посту выше:

Кривой код. Почему шарик вылетает из окружности при столкновении?

an_games 16.12.2007 18:02

ок. позже скину исходник,
но могу сказать, что столкновение там построено на следующем.может это то, что надо.

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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.