Форум 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)
-   -   Как узнать растояние между Movie ??? (http://www.flasher.ru/forum/showthread.php?t=69923)

leo99 04.10.2005 12:23

Как узнать растояние между Movie ???
 
Вложений: 1
Всем привет!
Помогите переписать 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);
}

За любой ответ зарание благодарен ;)

Art-dir 04.10.2005 18:01

юзайте теорему Пифагора.

leo99 04.10.2005 18:33

И где ее применить?

Обрати внимание, что Clip "road" имеет сложную форму, в центре которой пустое место.
Нужно найти растояния от "IE" до 'непустой' области "road", по Осям

leo99 05.10.2005 12:02

АУУУУУ! Ну хоть у когото есть идеи? Принимаю любые.

seeker2005 05.10.2005 12:25

ты скажи задачу, то может тебе и такая функция не нуна будет)

leo99 05.10.2005 12:47

Вложений: 1
Дело в том что я пишу небольшой симулятор гоночек,
код который показан выше - это часть кода котороая отвечает за движение "Искуственного Интелекта" (IE).

Можете посмотреть вложеный файл, и попробывать поиграть без IE а потом с 1 или 2-мя IE. Разница заметна.

seeker2005 05.10.2005 12:50

сделай уравнение кривой, а потом по приращениям

iNils 05.10.2005 13:07

Искуственный Интелект пишется AI, IE это сами знаете что :) Не стоит путать.

leo99 05.10.2005 13:21

Кривой??? Всей дороги???
Рисунок я повесил только чтоб было понятно назначение функции.

А реально, "кривая" - это произвольное стирание (Eraser Tool) закрашеного прямоугольника. Стертое место потом и образует - дорогу.

iNils 05.10.2005 13:30

Если бы я делал, то учитывал от машины только 4 точки, а именно центр соприкосновения колес, но не с дорогой, а тем что находиться за дорогой.
Если надо ввести учет соприкосновения с машинами соперников. То тут добавятся еще 4 тоски по углам машины. Но! Сначало проводить грубый хитТест для учета пересечения прямоугольников машин, если истина, тогда включать обсчет этих четерых точек с дрйгой машиной.


Часовой пояс GMT +4, время: 18:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.