![]() |
Граф и event
Здравствуйте,два дня маюсь над задачкой,решение всё не приходит на ум.
Есть граф(вообще дерево с произвольным количеством детей) члены данные -указатель на голову типа Vertex -указатель текущий вершины(для работы с графом). class Vertex - class Image - список Vertex class Image имеет следующие члены данные: - src image - Vector<Pointer> Pointer -это стрелки которые должны быть созданы поверх изображения. члены данные - координаты - src изображения стрелки (возможно) i- ая стрелка в списке стрелок соответствует i- ой вершине в списке вершин. (для текущий вершины). Как всё это прикрутить на сцену,чтобы при нажатии на изображение стрелки текущая вершина (указатель current в графе) определил номер стрелки (то бишь нужно передать координаты стрелки для поиска или по src изображению или писать ещё один класс ) ,потом по этому номеру выбирал нужную вершину из списка вершин(это понятно как сделать) и осуществлял перерисовку сцены исходя из данных текущей вершины(это тоже понятно). Собственно как разобраться со стрелочками?Как определить какая стрелочка сработала? какой-то признак дополнительный создавать? Или делать какой-то класс интерфейс? Ответ можно псевдокодом или на словах,конкретную реализацию я уже сделаю самостоятельно. |
Если стрелка-потомок Спрайта, то почему не повесить слушателя для его "onclick"? Если стрелка-потомок Битмапа, и вы все рисуете на "битмап", то вперед поиском по координатам клика в битмап. Координаты стрелки у вас есть, размер стрелки тоже имеется.
|
Пока что класс стрелки не чей потомок,поскольку не знаю что именно с ним делать,поэтому обратился сюда с вопросом.
ну у меня имеется класс для добавления изображения Код AS3:
На сцену я отправляю уже готовый спрайт с изображением,хотя наверное это не правильно,лучше отправлять bitmap и уже этот bitmap добавлять на sprite в сцене И так вот что у меня получилось я отнаследовал стрелку от спрайта Код AS3:
далее мне нужно определить какая стрелка была нажата на sprite, сначала покажу как добавляю стрелки на сцену и привязываю event. Сделан отдельный спрайт на который добавляются изображение и стрелки. Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 13:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.