![]() |
Отрисовка линии между двумя точками (одна плавающая, т.е. без постоянных координат)
Здравствуйте.
В сцене имеется мивиклип который следует за курсором в определенной области, чуть большей самого клипа. Также у клипа есть зацикленная анимация по траектории. На определенном расстоянии от клипа есть условная точка X1, с постоянными координатами. Задача - при наведении на "плавающий" клип, из определенной точки на нем (X2), должна появляться линия идущая в точку X1. Во флеше работаю недавно, поэтому как сделать так, чтобы линия была между точками постоянно, учитывая, что точка X2 плывет в пространстве, совершенно не знаю. Буду признателен за любую помощь по данному вопросу. |
Стоит только набрать в хелпе line и посмотреть(это даже если ничего незнать).
Код AS1/AS2:
|
Вложений: 1
Находил, в хелпе. Вот допустим подобный код не работает.
Код AS1/AS2:
|
Код AS1/AS2:
|
Не работает. Исходник в формате флеша 8. В чем причина косяка не знаю. Можете набросать простейший рабочий исходник?
Добавлено через 52 минуты Разобрался. Банально нужно было добавить lineStyle ;))) Спасибо огромное за отклик) |
Тогда ты хелп не посмотриш:). Что не выходит лини не рисуется? lineSetyle(1, 0x000000). Говорил же сразу читать хелп :/
|
Да вот же.. Лень всему беда, буду исправляться)
Кстати, вот еще вопрос, чем можно сделать не мгновенную, а плавную отрисовку линии от точки до точки? Думаю это в хелпе я вряд ли найду) |
отрисовывай отрезки линии через определенный интервал времени. ключевые слова setInterval (можно onEnterFrame со счетчиком),if, for, while
|
Движение нужно больно плавное, отрезки тут не катят..
+ точка Х1 не стационарна. Тут это не пройдет.. |
Можно находить точку на прямой между двумя нужными точками, рисовать от исходной до этой точки и изменять расстояние от исходной до этой со временем.
|
И как это тогда выглядить должно? Плавно рисуется линия а тутраз x1 сдвинулся и она пропала?
|
Учитывая плавучесть одной из точек, прямая, и средняя точка никогда не постоянны.
|
Ну дак каким образом она будет плавно рисоватся? Там просто времени нету на какуюто плавную отрисовку
|
Вложений: 1
есть ещё один способ для линий от А до Б:
рисуеш строго диаганальную линию длиной и высотойв 100 пикселов, приаброзовываеш её в клип, с центром в верхнем левом углу, и пишеш небольшой код типа: Код AS1/AS2:
Вложение 21690 Вот начиркал в пайнте. |
Что значит плавные концы?:O
Линия высотой и длиной 100 это вертикальная прямая :D |
Ну плавные концы, это например от 0% непрозрачности до 100, а после прописывания указаного выше кода, эта линия перестанет быть вертикальной.
|
Вот тоже не особо понял насчет плавности? может наоборот фишка в том что медленно отрисовывается и кажутся разрывы? рисуй по onMouseMove и делай updateAfterEvent
Я по-моему понял (дайте мне за это пирожок) имеется в виду антиальясинг))))) |
Цитата:
|
Tails, линия таким образом преследует саму мышь. С этим есть подвох. Плавающая точка Х1, находится внутри плавающего за мышью муви клипа. Точка регистрации клипа, которой он стремится нарваться на курсор, находится довольно далеко от точки Х1.
Добавлено через 1 минуту Котяра, линия медленно(ну не совсем конечно, но заметно для глаза), идет из одной точки в другую. Это я и назвал плавностью. |
пирожок отменяется. опять ничего не понял. если у линии (прямой, как я понял) меняются с временем направляющие точки а она сама рисуется медленно, то она уже не прямая... а. а..алярм, алярм (нарисуйте что вам надо)
|
Если нужно найти кординату вложеного клипа в другой можно использовать это:
Код AS1/AS2:
|
Цитата:
|
Меняется одна только точка. Из нее линия рисуется в статичную точку два. Линия по сути уже отрисована и позиционирована, однако нужен эффект аля маска, плавно идущая от точки Х1 до Х2. Вообщем Плавное проявление линии со стороны точки Х1, в сторону Х2.
|
вот и отрисовывай из статичной точки 1 в статичную точку 2 кусочками(ОТРЕЗКАМИ). промежуточные координаты посчитаешь сам. не надо маски.
|
Котяра, ты только представь сколько кода на это уйдет? При этом будет не так плавно, как нужно.
|
Вложений: 1
У меня получилось примерно так:
Вложение 21691 |
Tails, получилось довольно клево, но это не то.. У тебя линия сразу есть и видна. Мне нужно ее плавное появления из точки в точку. Но все равно огромное спасибо за помощь.
|
Вложений: 1
так чтоль?
|
scarbo, о) это куда теплее) только прямая между точками всегда должна оставаться прямой, но появляться из точки в точки именно так.
Можно глянуть исходник? Хотя в данном случае вряд ли получится под себя подогнать. |
Вложений: 1
Тупо используем маску.
Вложение 21693 |
Вложений: 1
так пойдет?
|
Tails, о! То, что нужно. Можно код?
Добавлено через 2 минуты scarbo, то же отличный вариант. Спасибо. Спасибо большое всем, кто откликнулся. |
Вложений: 1
исходник
Вложение 21695 Ммм, хотя по сравнению с примером scarbo, мой вариант намного примитивнее :quiet:, яркий пример таво, как можно сделать одну и ту же вещ разными способами. |
|
А в чем у меня с физикой проблемы?)
Что до гугла, то информации много, бесспорно. Однако, в каждой ситуации есть определенные нюансы, требующие решения проблемы на месте. И когда сроки поджимают, спросить не у кого, единственной помощью, я вижу форум, и я очень благодарен за все многочисленные отклики в этой теме. Изначально все же нужно было не движение линии за мышкой, а движения за точкой, представленной муви клипом, находящаяся в другом перемещающемся муви клипе. По ходу темы, которую вы видимо читали не сначала, я слегка изменил начальную задумку реализации данной флешки. Что до темы, что вы привели, там решается несколько иная проблема, нежели та, что была актуальна в последних постах. Но все равно спасибо. |
Еще бы описал хотябы что нужно сделать(Раз уж сам не хочеш ничего делать, а люди всетаки решили помоч :/). И не пришлось бы играть в угодаййку в течении дня.
|
Цитата:
А по поиску - чтобы искать эффективно, сначала нужно четко сформулировать предмет поиска. |
Честно, изначально в теме нужно было именно уточнить, почему линии не отрисовывались. Потом уже возник вопрос, а можно ли..
Что до формулировки, я писал, что нужно, чтобы линия медленно шла от точки, к другой точки. При этом двигалась, если одна из точек движется. Извиняюсь, что запутанно это все объяснил, и всех запутал. Видимо постоянное ночное сидение за монитором сказывается на адекватности рассуждений) |
Может так?
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 03:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.