![]() |
|
||||||||||
|
|||||
|
Это и подразумевалось. Растояние вдоль траектории.
__________________
Michael SuLLivaN #icq 140702090 Я стал вегетарианцем не потому, что люблю животных, а потому... что НЕНАВИЖУ растения! |
|
|||||
|
"inLove"
Регистрация: Feb 2001
Адрес: Moscow - Yerevan
Сообщений: 814
|
2LostWarrior:
вот то что ты хотел делал 5 мин вот сразу не выложил, т.к. что-то с провом... ну халява:-) как говорится дореному конью... |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
минутку :))
по-моему кто-то прогуливал школьные уроки физики :)) расстояние - это отрезок прямой между двумя точками длина траектории - это путь все что ты до сих пор относилось к перемещению, а не к длине пути :)) вообще можно сделать вот как: первая точка идет по какой-то там траетории и записывает на каждом шаге свое положение в массив точек {x:..., y:...} вторую точку запускаем тогда, когда сумма длин отрезков по полученным точкам >= определенному значению... это быдет конечно аппроксимация, но что делать... и вторую точку вести уже надо будет по точкам из массива, удаляя постепенно пройденные (по принципу очереди fifo) |
|
|||||
|
"inLove"
Регистрация: Feb 2001
Адрес: Moscow - Yerevan
Сообщений: 814
|
2Nox Noctis: кто прогуливал?
|
|
|||||
|
Guest
Сообщений: n/a
|
я вот тут нафигачил.
траектория формируется мышкой. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
кто-кто... дух тени отца гамлета :))
|
|
|||||
|
"inLove"
Регистрация: Feb 2001
Адрес: Moscow - Yerevan
Сообщений: 814
|
2andr_sky: для чего "фигачить" нафигаченное?:-)
|
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
чистый AS :))
// рисуем точки А и В
this.createEmptyMovieClip("A", 1);
this.createEmptyMovieClip("B", 2);
A.lineStyle(15, 0), B.lineStyle(15, 32768);
A.lineTo(.15, 0), B.lineTo(.15, 0);
// массив контрольных точек, расстояний между ними и заданная дистанция
B.guide=[], B.way=[], B.lim=100;
// двигаем первую точку
A.onMouseMove = function() {
tellTarget (this) {
prv = {x:_x, y:_y};
nxt = {x:_root._xmouse, y:_root._ymouse};
_x=nxt.x, _y=nxt.y;
// величина аппроксимации зависит от этого условия
if ((tmp=_root.dist(prv, nxt))>1) {
// добавляем в массив точку
_root.B.guide.push(nxt);
// добавляем в масси расстояние от предыдущей
_root.B.way.push(tmp);
// суммируем расстояние
_root.B.len += tmp;
_root.B.active = _root.B.len>=_root.B.lim;
}
}
};
// двигаем вторую точку
B.onEnterFrame = function() {
tellTarget (this) {
if (active) {
_x = guide[0].x;
_y = guide[0].y;
len -= way[0];
guide.splice(0, 1);
way.splice(0, 1);
active = len>=lim;
}
}
};
dist = function (a, b) {
return Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
};
зы: у andr_sky точки перемещаются странно, если вести одну навтречу другой. у Армена второй объект повторяет траекторию первого, а просто следует за ним. Последний раз редактировалось Nox Noctis; 09.07.2002 в 16:26. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
в последней фразе я хотел сказать " 'не' повторяет траекторию"
) |
|
|||||
|
Похоже ничего кроме старого доброго масива с координатами придумать невозможно. А жаль.
derhab в самом начале предложил присваивать координаты первой точки второй. А что если между ними расположить еще "r" невидимых точек и по циклу с конца переприсваивать координаты? Всем спасибо за внимание, и за предложения.
__________________
Michael SuLLivaN #icq 140702090 Я стал вегетарианцем не потому, что люблю животных, а потому... что НЕНАВИЖУ растения! |
![]() |
Часовой пояс GMT +4, время: 18:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|