|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|
|||||
Регистрация: Mar 2010
Сообщений: 9
|
назначить Listener каждой картинке из массива
Есть двухмерный массив Personag1Veshi ["kartinkaVeshi"] ["nameVeshi"]
["kartinkaVeshi"] - содержит картинки вещей ["nameVeshi"] - содержит соответствующие имена вещей По ходу программы массив Personag1Veshi изменяется. Некоторые вещи удаляются, некоторые добавляются. Обновление Массива вещей на Экране происходит в единственном месте программы (при условии что в него были внесены изменения) с помощью цикла. ЗАДАЧА: Каждая выведенная на экран картинка вещи должна уметь перетаскиваться мышкой. И мы должны знать какое имя (["nameVeshi"]) у вещи которая у нас перетаскивается в данный момент. Я для этого попытался циклом навесить по слушателю на каждую картинку Но это не работает и вообще как то "подозрительно" выглядит.)) Может для решения этой задачи пользуются какой то особенной фишкой? for (var i4:int = 1; i4 <=(KolichestvoVeshei); i4++) { //выводим картинки вещей с интервалом по 50 пикселей по оси X Personag1Veshi["kartinkaVeshi"][i4].x=i4*50; //выводим картинки на уровне 500 пикселей по оси Y Personag1Veshi["kartinkaVeshi"][i4].y=500; //Добавляем вещь в список отображения addChild(Personag1Veshi["kartinkaVeshi"][i4]); //Каждая выведенная на экран картинка вещи может быть перетащена мышкой //Для этого на каждую вещь персонажа вешаем слушатель Personag1Veshi["kartinkaVeshi"][i4].addEventListener(MouseEvent.MOUSE_DOWN, PeretaskivaemVeshStart); Personag1Veshi["kartinkaVeshi"][i4].addEventListener(MouseEvent.MOUSE_UP, PeretaskivaemVeshStop); //Функции слушателей Вещей так НЕ РАБОТАЮТ //TypeError: Error #1006: value не является функцией. function PeretaskivaemVeshStart(event:MouseEvent):void { trace("вещь тащим"); Personag1Veshi["kartinkaVeshi"][i4].startDrag(); } function PeretaskivaemVeshStop(event:MouseEvent):void { trace("вещь отпустили"); Personag1Veshi["kartinkaVeshi"][i4].stopDrag(); } } |
|
|||||
Регистрация: Jun 2008
Адрес: Tomsk
Сообщений: 88
|
так у вас кривой итератор i4 в момент вызова функций равен KolichestvoVeshei + 1.
Необходимо дёргать функцию, в области видимости которой сохранится ссылка на объект, перетаскивать который хотим. Последний раз редактировалось F1esk; 16.03.2010 в 12:48. |
Часовой пояс GMT +4, время: 11:00. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|