Форум 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=122095)

Acrossfy 02.03.2009 16:58

Отрисовка линии между двумя точками (одна плавающая, т.е. без постоянных координат)
 
Здравствуйте.
В сцене имеется мивиклип который следует за курсором в определенной области, чуть большей самого клипа. Также у клипа есть зацикленная анимация по траектории. На определенном расстоянии от клипа есть условная точка X1, с постоянными координатами.
Задача - при наведении на "плавающий" клип, из определенной точки на нем (X2), должна появляться линия идущая в точку X1.
Во флеше работаю недавно, поэтому как сделать так, чтобы линия была между точками постоянно, учитывая, что точка X2 плывет в пространстве, совершенно не знаю.
Буду признателен за любую помощь по данному вопросу.

qazwsx 02.03.2009 17:05

Стоит только набрать в хелпе line и посмотреть(это даже если ничего незнать).

Код AS1/AS2:

clear();
moveTo(x1._x, x1._y);
lineTo(x2._x, x2._y);


Acrossfy 02.03.2009 17:53

Вложений: 1
Находил, в хелпе. Вот допустим подобный код не работает.
Код AS1/AS2:

bg.onEnterFrame = function() {
if (_xmouse >this._x && _xmouse < this._x+this._width && _ymouse > this._y && _ymouse < this._y+this._height)  {
        _root.x1._x -= (_root.x1._x-_xmouse)/20;
        _root.x1._y -= (_root.x1._y-_ymouse)/20;
        };
};
x1.onEnterFrame = function() {
//        moveTo(116, 156);
        lineTo(366, 183);
//        lineTo(x2._x, x2._y);
};

Всю не работоспособность свел на то, что x1 не имеет постоянных координат. Хотя сейчас просто проверил, то же не выходит. Что может быть не так? Инстанс неймы заданы.

qazwsx 02.03.2009 19:03

Код AS1/AS2:

clear();
moveTo(x1._x, x1._y);
lineTo(x2._x, x2._y);

вот это в x1.onEnterFrame. Не открывается меня исходник

Acrossfy 02.03.2009 20:02

Не работает. Исходник в формате флеша 8. В чем причина косяка не знаю. Можете набросать простейший рабочий исходник?

Добавлено через 52 минуты
Разобрался. Банально нужно было добавить lineStyle ;)))
Спасибо огромное за отклик)

qazwsx 02.03.2009 21:00

Тогда ты хелп не посмотриш:). Что не выходит лини не рисуется? lineSetyle(1, 0x000000). Говорил же сразу читать хелп :/

Acrossfy 02.03.2009 21:22

Да вот же.. Лень всему беда, буду исправляться)
Кстати, вот еще вопрос, чем можно сделать не мгновенную, а плавную отрисовку линии от точки до точки? Думаю это в хелпе я вряд ли найду)

Котяра 02.03.2009 22:35

отрисовывай отрезки линии через определенный интервал времени. ключевые слова setInterval (можно onEnterFrame со счетчиком),if, for, while

Acrossfy 02.03.2009 23:04

Движение нужно больно плавное, отрезки тут не катят..
+ точка Х1 не стационарна. Тут это не пройдет..

VVall 02.03.2009 23:10

Можно находить точку на прямой между двумя нужными точками, рисовать от исходной до этой точки и изменять расстояние от исходной до этой со временем.


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

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