Просмотр полной версии : рисование полигонов, полилиний
random13
12.08.2009, 19:32
есть ли какие либо средства для рисование полигонов и полилиний по точкам, грубо говоря тыкаем по сцене у нас появляется полилиния или полигон? или только стандартные средства рисования и куча слушателей?
ramshteks
12.08.2009, 19:53
а почему нет? что там сложного то? или вам что то с хитроподвывертом нужно?
random13
12.08.2009, 20:03
нужно следующее: возможность по точкам построить полилинию или полигон, по принципу тыкнули мышкой точек и вот вам, а так же возможность эти точки передвигать по плоскости ну и возможно удалять точки
... и куча слушателей?
А один слушатель на контейнере?
созаём массив с координатами точек.
При тычке мышью - координаты запоминаем.
по ним и строим линии или что там нужно.
Если тычок попал в точку которая уже существует - позволяем ее двигать.
или удалить.
всё решается с помошью единственного слушателя, ну или по крайней мере тёх - onClick,onDown,onUp
random13
13.08.2009, 10:38
а чем лучше рисовать, shape и всякие lineTo и прочее или что другое?
а ты попробуй и так и так и сравни)
random13
13.08.2009, 11:40
помойму я для того и спрашиваю что хочу получить ответ...
я надеюсь что кто то уже подобное делал до меня и поэтому могут помочь в плане информации и не более
а что-то дугое - это что?
"shape и всякие lineTo" наверно лучше подойдут.
а какова конечная цель?
редактор векторной графики?
random13
13.08.2009, 12:01
конечная цель не настолько вселенская, я думаю что уже много до меня разных велосипедов на эту тему изобрели (некоторыми мы как раз и пользуемся); у меня же всё проще, нужна возможность строить полигоны, полилинии на карте
вопрос а как мне ворочить уже установленные точки в shape или я что то не так понял
я делал примерно так:
1) есть объект представляющий собой рабочую область для рисования.
2) при нажатии кнопки "создать линию" объект из пункта 1 переводился в сотояние создания линий - вешал обаботчик на клик мыши.
3) если клик 1ый - создавался объект линия, ему присваивался статус - в процессе рисования.
4) к рабочей области добавлялся лисенер на движения мыши. был массив с теми линиями, которые на движение мыши должны реагировать (при создании линий в нем находилась ссылка на создаваемый объект. при таскании линий за вершины в нем были все линии, которые должны реагировать на движение этой точки).
5) при срабатывании обработчика на движение мыши все стенки из массива перерисовались
6) если мы в режиме создания линий - 2ой клик завершает содание текущей стены и начинает создание новой в этой же точке. выход из режима создания - даблклик.
вот как-то так.
никак. super.graphics.clear() и по-новой.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.