![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
возможно ли передать параметр в функцию, выполняющуюся по клику мыши
возможно ли подобное: box1_mc.addEventListener(MouseEvent.CLICK,view_present_window(box1_mc)); box2_mc.addEventListener(MouseEvent.CLICK,view_present_window(box2_mc)); ............... box32_mc.addEventListener(MouseEvent.CLICK,view_present_window(box32_mc)); function view_present_window(Event:MouseEvent,test):void { var test:view_present=new view_present(); test.x = 23; test.y = 26; addChild(test); } ![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
box1_mc - это event.currentTarget
box32_mc.addEventListener(MouseEvent.CLICK,view_present_window); function view_present_window(event:MouseEvent):void{ var test:DisplayObject = event.currentTarget as DisplayObject; test.x = 23; test.y = 26; // вот это странно - тест уже добавлен - вы хотите его просто на верх кинуть? addChild(test); }
__________________
Отряд Котовскага Последний раз редактировалось udaaff; 22.07.2010 в 00:55. Причина: опечатка |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Agni, мне что-то не понятна логика вашего кода. Сначала вы пытаетесь передать в качестве параметра ссылку на currentTarget немыслимым способом, а потом же этому параметру присваиваете ссылку на другой объект.
Последний раз редактировалось udaaff; 22.07.2010 в 00:56. |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
box1_mc.addEventListener(MouseEvent.CLICK,view_present_window(box1_mc)); box2_mc.addEventListener(MouseEvent.CLICK,view_present_window(box2_mc)); ............... box32_mc.addEventListener(MouseEvent.CLICK,view_present_window(box32_mc)); function view_present_window(Event:MouseEvent,test):void { var test:view_present=new view_present(); test.parametr1= 23;//parametr1 и parametr2 это свойства box1_mc(если клик был по box1_mc) или свйостива box2_mc, если клик был по box2_mc) test.parametr2 = 26; addChild(test); } ![]() имелось в виду, что при "клике" на любом mc (box1_mc,box2_mc,box3_mc,.....) создается объект класса view_present, в который хочу передать параметры (parametr1,parametr2), зависящие от box1_mc или box2_mc или box3_mc, в зависимости от того на каком был сделан клик то есть хочу заменить страшную конструкцию box1_mc.addEventListener(MouseEvent.CLICK,view_box1_mc); box2_mc.addEventListener(MouseEvent.CLICK,view_box2_mc); box3_mc.addEventListener(MouseEvent.CLICK,view_box3_mc); ................. до box30_mc function view_box1_mc(Event:MouseEvent):void { var edit_temp:view_present=new view_present(); edit_temp.description_present_txt.text = box1_mc.p_description; addChild(edit_temp); } function view_box2_mc(Event:MouseEvent):void { var edit_temp:view_present=new view_present(); edit_temp.description_present_txt.text = box2_mc.p_description; addChild(edit_temp); } function view_box3_mc(Event:MouseEvent):void { var edit_temp:view_present=new view_present(); edit_temp.description_present_txt.text = box3_mc.p_description; addChild(edit_temp); } .......... до view_box30_mc |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Смотрите пост Котяры. И параметр "Event" с маленькой буквы лучше бы написать.
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
вроде так:
box1_mc.addEventListener(MouseEvent.CLICK,view_box_mc); function view_box_mc(event:MouseEvent):void { var test:DisplayObject = event.currentTarget as DisplayObject; var edit_temp:view_present=new view_present(); edit_temp.x = -806; edit_temp.y = 178; edit_temp.description_txt.text = test.p_description;//не находит такого свойства у box1_mc, хотя оно присутствует addChild(edit_temp); } ![]() |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У класса DisplayObject нет свойства p_description
Приведите к правильному классу.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
что значит привести к правильному классу?
|
|
|||||
|
[+1 27.05.10]
Регистрация: Dec 2009
Сообщений: 32
|
Если хотите заменить "вашу ужасную конструкцию" то просто в обработчике пишите edit_temp.description_present_txt.text = (event.target as type).p_description;
где type тип ваших объектов boxN_mc, n = 1 to 30 |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
Если вы вообще хотите передавать любой параметр, то нужно писать свой эвент. Я делаю так:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|