![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2011
Сообщений: 41
|
Ребят, во Flash CS создал мувиклип Papa, внутри него находится еще штук пять мувиклипов, каждый из которых имеет своё имя экземпляра(son1,son2... son5).
Навешиваю на каждого "сына" слушатель на клик мышью. var mc:Papa = new Papa(); addChild(mc); mc.son1.addEventListener(MouseEvent.CLICK, startProcess); getQualifiedClassName логично возвращает строку с movieclip, а мне нужна строка "son1". Ох ну по name же. Последний раз редактировалось Black Soviet; 04.04.2013 в 17:20. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
Имя экземпляра - это свойство mc.name. В вашем коде это так:
private function startProcess(e:MouseEvent):void { var mc:MovieClip = e.currentTarget as MovieClip; if (mc.name=="sun1") ... } var mc:Papa = new Papa(); addChild(mc); mc.addEventListener(MouseEvent.CLICK, startProcess); //один единственный слушатель на папе слушает всех детей private function startProcess(e:MouseEvent):void { var mc:MovieClip = e.target as MovieClip; switch (mc.name){ case "sun1": //action break; case "sun2": //action break; ... } }
__________________
мой пустой блог |
|
|||||
|
Регистрация: Nov 2011
Сообщений: 41
|
iflamberg, у меня по вашему коду сыны в своём namе возвращают не "son1", "son2", а "instance23", "instance 25" и т.д.
|
|
|||||
|
Естественно. Имя переменной и свойство name дисплей объекта, не имеют ничего общего.
И вообще для решения этой задачи не нужно знать названия переменных, за которыми закреплены ссылки на объекты. Достаточно в обработчике юзать event.target или event.currentTarget |
|
|||||
|
Регистрация: Nov 2011
Сообщений: 41
|
caseyryan, я повесил слушателя не на каждого сына, а на mc (который является Papa). Кликая на любом сыне currentTarget возвращает объект Papa, target возвращает объект Son. Но e.target.name возвращает не "sоn1", а "instance23".
Добавлено через 8 минут Ух, ребят, у меня день тяжёлый, в Sun лежал просто еще один movieclip, он все карты и путал. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|