![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Адрес: 59°57′ с. ш. 30°19′ в. д.
Сообщений: 49
|
Здравствуйте!
Есть много элементов, при клике на какой либо через fscommand передается ассоциация с ним,и дальше обрабатывается. У меня очень много элементов и каждый раз писать мне не очень хочется, делаю через функцию и класс. Но сталкиваюсь с проблемой при клике fscommand не подхватывает мое значение((Есть ли способ написать какую либо функцию, что не писать столько кода для каждого элемента, а создать функцию и менять только два параметра? Это то что я написала, может быть вы предложите реализацию лучше) |
|
|||||
|
listener
|
command по-любому нужно где-то прописывать, этого не избежать. Можно немного автоматизировать этот процесс, формализовав текст команды. Например, пусть будет каждая команда - это строка "comm_N", где N - грубо говоря номер команды. Точно так же можно формализовать имена клипов - "clip_N". Тогда можно назначить каждому клипу свою команду и обработчик onPress, пробежав по ним циклом:
for(var i = 0; i< 100; i++){ this["clip_" + i].command = "comm_" +i; this["clip_" + i].onPress = ClickElement; } function ClickElement(){ var command = this.command; fscommand(command); } Еще о this. В цикле, где перебираются клипы, this должен указывать на контейнер, в котором находятся клипы clip1, clip2 и т.д. Например, если они все лежат на сцене, то this - это _root. Если клипы заключены в другой клип, то this - это ссылка на это клип-контейнер. Последний раз редактировалось alexcon314; 18.03.2014 в 11:46. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|