![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Адрес: Санкт-Петербург
Сообщений: 44
|
Вот такой вопрос.
Есть некий клип, копии которого создаются следующим образом (упрощенный пример): Допустим, перед циклом есть некий другой клип, в который я хочу поместить все дубликаты. Я пишу: Это правильно? Как далее обращаться к этому дочернему клипу внутри цикла? некий клип[mc] правильно или нет? А если я хочу к этому дочернему клипа привязать слушатель, как мне к нему обращаться? Внутри функции слушателя, если ничего не путаю, то через target. Заранее thanks! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1) mc это переменная ("var mc:Reps"), которая хранит ссылку на клип, пока не будет пересоздана в следующей итерации цикла. Так и надо обращаться. Неважно, в каком контейнере окажется клип. Переменная все-равно хранит на него ссылку. И уж конечно, у контейнера не появится откуда ни возьмись свойство с именем "mc".
2) если точнее, то currentTarget.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2011
Адрес: Санкт-Петербург
Сообщений: 44
|
Так а как в цикле клип создать внутри уже существующего клипа-переменной?
Пробовал var некий клип.mc:Reps = new Reps() и некий клип[mc]:Reps = new Reps() выскакивают ошибки Syntax error: expecting semicolon before dot для первого варианта и expecting semicolon before leftbracket для второго. |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 55
|
если вы хотите просто перебрать все дочерние клипы - то вот так
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Хранить ссылки на клипы в массиве, например
var container:Sprite = new Sprite(); addChild(container); // создаем в цикле экземпляры Reps и заполняем массив var repses:Array = new Array(); for(var i:uint = 0; i < 10; i++) { var mc:Reps = new Reps(); container.addChild(mc); repses.push(mc); } // В каждый экземпляр Reps из массива добавляем новый клип класса SomeClip var someClips:Array = new Array(); for(var i:uint = 0; i < 10; i++) { var somMC:SomeClip = new SomeClip(); someClips.push(somMC); var mc:Reps = reps[i] as Reps; mc.addChild(someMC); }
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2011
Адрес: Санкт-Петербург
Сообщений: 44
|
Большое спасибо!
Раскрыли глаза на очевидную и очень нужную вещь. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|