![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2009
Сообщений: 29
|
Здравствуйте.
У меня такая проблема. Делаю векторный графический редактор. По движению курсора мыши нужно рисовать прозрачную линию. Рисование происходит по событию MouseEvent.MOUSE_MOVE между предыдущими и текущими координатами мыши. Собственно проблема в том, что на стыках линий получается так, что предыдущая линия наплывает на новую (линию рисую со скругленными концами, для более плавного вида линии, вот и получается, что на стыках пересекаются полукружья концов) и на стыке образуется более темный участок линии - альфа линий смешивается. Если медленно вести курсором - то линия получается вообще непрозрачная, т.к. концы линий постоянно накладываются, за 3-4 смешения получается непрозрачная линия. Для пущей понятности прикрепил скриншот: Помогите пожалуйста с решением этой проблемы. |
|
|||||
|
ну например... рисуйте непрозрачную линию в спрайте, не добавленном в дисплей лист, и используйте метод draw объекта BitmapData для копирования содержимого спрайта в битмапдату..ну и дальше уже выводить на экран и управлять прозрачностью..
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 29
|
Цитата:
Добавлено через 6 минут Цитата:
или я что-то не так понял? |
|
|||||
|
прозрачность добавляйте не к линии, а к клипу, в котором рисуете
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 29
|
Я же говорю, попробовал так - ничего не изменилось. К тому же при таком подходе нельзя в процессе рисования регулировать насыщенность цвета - если менять постоянно альфу клипа - то все нарисованное меняет прозрачность.
|
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 29
|
Но тогда нельзя в процессе рисования сменить прозрачность отдельной линии, так ведь?
|
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
я так понимаю, рисование происходит, так скажем, за один присест - пока кнопка мыши нажата. Т.о. для изменения альфы, пользователю надо передвинуть мышь куда-то где эта альфа меняется, затем заново вернуть на поле рисования, нажать кнопку и рисовать. Вот при каждом таком "нажатии кнопки" можно создвать новый спрайт.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|