![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 27
|
Всем привет!
Помогите переписать function. Данная функция расчитывает - растояния между двумя мувиками, как показанно на рисунке (см. внизу) проблем в том, что она жрет много ресуров //movie => _root.IE._target //x,y => _root.IE._x, _root.IE._y function distance(x, y, movie) { movie=eval(movie); mass = new Array(); //distance +X for (i=1; i<=_root.road._width; i++) { if (_root.road.hitTest(movie._x+i, movie._y, true)) {break;} } mass["R"]=i; //distance +Y for (i=1; i<=_root.road._height; i++) { if (_root.road.hitTest(movie._x, movie._y+i, true)) {break;} } mass["D"]=i; //distance -X for (i=1; i<=_root.road._width; i++) { if (_root.road.hitTest(movie._x-i, movie._y, true)) {break;} } mass["L"]=i; //distance -Y for (i=1; i<=_root.road._height; i++) { if (_root.road.hitTest(movie._x, movie._y-i, true)) {break;} } mass["U"]=i; return (mass); } За любой ответ зарание благодарен ![]() Последний раз редактировалось leo99; 04.10.2005 в 14:12. |
|
|||||
|
юзайте теорему Пифагора.
|
|
|||||
|
Регистрация: Oct 2005
Сообщений: 27
|
И где ее применить?
Обрати внимание, что Clip "road" имеет сложную форму, в центре которой пустое место. Нужно найти растояния от "IE" до 'непустой' области "road", по Осям Последний раз редактировалось leo99; 04.10.2005 в 18:38. |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 27
|
АУУУУУ! Ну хоть у когото есть идеи? Принимаю любые.
|
|
|||||
|
ты скажи задачу, то может тебе и такая функция не нуна будет)
__________________
Голова она не только для того, чтобы кашу есть... |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 27
|
Дело в том что я пишу небольшой симулятор гоночек,
код который показан выше - это часть кода котороая отвечает за движение "Искуственного Интелекта" (IE). Можете посмотреть вложеный файл, и попробывать поиграть без IE а потом с 1 или 2-мя IE. Разница заметна. |
|
|||||
|
сделай уравнение кривой, а потом по приращениям
__________________
Голова она не только для того, чтобы кашу есть... |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 27
|
Кривой??? Всей дороги???
Рисунок я повесил только чтоб было понятно назначение функции. А реально, "кривая" - это произвольное стирание (Eraser Tool) закрашеного прямоугольника. Стертое место потом и образует - дорогу. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Если бы я делал, то учитывал от машины только 4 точки, а именно центр соприкосновения колес, но не с дорогой, а тем что находиться за дорогой.
Если надо ввести учет соприкосновения с машинами соперников. То тут добавятся еще 4 тоски по углам машины. Но! Сначало проводить грубый хитТест для учета пересечения прямоугольников машин, если истина, тогда включать обсчет этих четерых точек с дрйгой машиной. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|