![]() |
Массив имен клипов
Доброго времени суток. У меня возникла задачка, не знаю с какого бока подойти. Допустим у меня есть массив содержащий имена клипов. Как мне сделать так чтоб во время выполнения программы клипы из этого массива могли слушать события. Т.е. грубо говоря у меня есть клипы по нажатию на которые происходят одни и те же события. И я не хочу на каждый клип писать mc1.onPress = function().....mcn.onPress = function(), а загнать эти клипы в массив и потом их от туда подставлять. Возможно ли такое? если да то подскажите в какую сторону копать, потому что я честно говоря даже не знаю по каким слоавам осуществлять поиск чтоб найти что то подобное.
|
Вложений: 1
Здравствуйте Kroli4eg!
Если я правильно понял чего Вы хотите, то Вы сможете добиться цели с помощью этого (синтаксис АС1): Код:
for (var i:Number = 1;i<=20;i++)Удачи. |
Вложений: 1
Если я правильно понял, то тебе что то подобное нужно:
Код:
button_index=5 // количество будущих кнопок |
Спасибо за помощь. Мне скорее всего подходит вариант Alex_beginner. Скажите плз если у меня мои клипы вложены в один клип. то чтобы к этим клипам достучаться вашим способом мне нужно использовать свойство _proto_ чтоб выстроить цепочку, или меня не в ту степь понесло?
|
Код:
this.clip[i]._x=random(300); |
Код Alex_beginner плох тем, что теперь абсолютно все мувиклипы будут кнопками. Поэтому надо сделать так:
Код в исходнике замените на Код:
for (var i:Number = 0; i <= 20; i++) {Код:
#initclip |
To iNils: В состав задачи не входили аспекты и ньюансы. Поэтому, я оставил за собой право представить примерный базовый код. Ежели после тестов автор задачи сочтет, что в данном конкретном случае необходимы исключения как то, что требуется разделять одни клипы от других, я неприменно постараюсь представить модифицированный код, учитывающий новые представленные факты.
Kroli4eg! Можно сделать и в АС2! Сделайте свой класс потомком от MovieClip, допустим MyClass в котором переопределите обработчик требуемого события. Далее создавайте ваши клипы, те что должны иметь общий обработик события как экземпляры от MyClass, а те клипы у которых не должно быть общего обработчика как экземпляры от MovieClip, тогда Вы сможете избежать ситуации, любезно описанной iNils'ом. |
что то я честно говоря совсем запутался. Вы не могли бы на простеньком примере показать, на пальцах так сказать 0:-) Мне обязательно создавать клипы, если нет то как их превязать к MyClass?
вот как я это понял, но что то я в этом коде напартачил, не работает :-( Код:
function new_clip():Void {} //sozdaem klass k kotoromu budut otnositsa muviki |
Цитата:
|
Вложений: 1
Kroli4eg!
По Вашей просьбе прилагаю наглядный примерчик. В примере, зеленые клипики - обычные клипы, без обработчика onPress, синие с обработчиком onPress. По нажатию синих клипов в панели Output выводятся их имена (опять же цифры). Порядок создание примера: 1. Создаю класс MyClass (см. в папке вложения) - подкласс MovieClip. 2. В нем переопределяю обработчик onPress 3. Сохраняю класс в папке AS_Class. Не забываю прописать путь к классу в "предпочтениях". 4. Создаю клип-символ (например кружок). В свойствах символа на вкладке Linkage Properties (свойства связывания) активизирую галочку Export for ActionScript При этом станет доступной строка AS 2.0 Class. В нее нужно ввести имя класса, с которым должен быть связан символ. В нашем случае это MyClass. 5. Далее создаю аналогичный клип-символ не связывая его с каким-либо классом 6. Аттачу те и другие по 11 штук каждого вида, располагая их рандомно на площади 300х300 пикселей. 7. Вот собственно и все. [iNils: для подобных вещей существует приват] |
| Часовой пояс GMT +4, время: 23:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.