![]() |
|
||||||||||
|
|||||
|
[+1.3 08.03.07]
|
Есть трабл, может кто поможет?
По клику мыши программно рисуется линия, по следующему -- её продолжение, и так далее. Можно сделать так чтобы по нажатию на кнопку последняя линия стиралась? Не вся, а только последняя, созданная последним кликом. |
|
|||||
|
Несколько способов решения этой задачи:
1)Каждый новый отрезок помещяешь в отдельный клип, потом просто удаляешь клипы. 2)Просто зарисовать последнюю линию цветом фона(если конечно под линией кроме фона ничего нет), предварительно зопомнив кординаты этой линии. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Создайте N-мувиклипов (по числу нужного количества откатов) и нарисованную линию заносите не сразу ко всем, а методом FIFO (first in, first out) прогоняйте через мувиклипы.
2 BigDan: зачем удалять то, просто клип чистить последний. Последний раз редактировалось iNils; 07.01.2007 в 20:18. |
|
|||||
|
Цитата:
|
|
|||||
|
[+1.3 08.03.07]
|
BigDan, про закрашивание и сама думала, но фон неоднородный, так что не прокатит.
iNils, а нельзя ли рассказать про эти методы или дать ссылку, где почитать? Не сталкивалась с таким ещё. |
|
|||||
|
ветеран форума
|
Тогда можно загонять в битмапдату все клипы кроме последних N и удалять сами клипы.
__________________
4am is time to rock |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Значит вам нужно 3 клипа (в квадратных скобках глубина клипа) mc1 [3]: Клип для 1 шага mc2 [2]: Клип для 2 шага mc3 [1]: Клип для 3 шага mc0 [0]: Клип с суммарным изображением. Все эти клипы находятся внутри еще одного (для простоты манипуляций) Теперь когда вы собираетесь нарисовать первую линию, то она рисуется в клипе mc1. Как только вы нажимаете мышь для рисования новой линии, по кругу меняете глубину клипов для откатов. mc3 [3] mc1 [2] mc2 [1] mc0 [0] Теперь у нас на верху клип mc3, и новая линия рисуется уже в нем. Для следующей линии делаем тоже самое и вверху будет mc2. Так мы добавили три линии, когда собиремся добавить 4-ую, пустого клипа для откатов уже не будет, поэтому (отступление: при заносе линии в клип, мы для этого клипа ставит значение переменной flag = true, что значит клип не пустой, и записываем там координаты 2- точек линии) мы меняем клипы по кругу опять и получаем самое начальное положение. Теперь считываем из верхнего клипа координты линии и рисуем их в mc0, в mc1 вызываем clear () и рисуем новую линию. Ну и так далее. Когда собиремся делать откат, то есть нажать кнопку, мы ищем первый клип сверху где flag != true, меняем значение флага на false и вызываем clear (). Последний раз редактировалось iNils; 07.01.2007 в 21:28. |
|
|||||
|
[+1.3 08.03.07]
|
Спасибо за помощь! Проблема решена ) Каждую линию помещаю в новый мувиклип и потом удаляю его, когда надо.
Всем спасибо! |
|
|||||
|
[+1.3 08.03.07]
|
iNils, спасибо за объяснение, попробую и этот метод тоже разобрать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|