Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Присвоить акции продуплицированному клипу! Можно ль? (http://www.flasher.ru/forum/showthread.php?t=22687)

RFMitrio 08.11.2001 19:16

Присвоить акции продуплицированному клипу! Можно ль?
 
Суть проблемы слкедующая. Есть мувиклип. Я его дуплицирую ( или аттачу, неважно ), например, в количестве 100 экземпляров. Есть ли способ ( думаю нет, но могу не знать :) ) сделать так, чтобы, допустим, onKeyUp для каждого (!!!) из этих 100 мувиклипов делались СВОИ действия, зависящие от имени данного мувиклипа.
----
НЕ ИНТЕРЕСНЫ СЛЕДУЮЩИЕ ПРЕДЛОЖЕНИЯ В ВИДУ СВОЕЙ ОЧЕВИДНОСТИ: 1. вставить в эти мувики по клипу, например, невидимому, который будет выполнять функцию в зависимости от имени _parent. 2. всякие там 2-хкадровые лупы для замены onEnterFrame.

gOloVasTicK '~ 08.11.2001 21:42

onClipEvent (keyUp) {
_parent.func(Key.getCode(), _name);
}

В функции и описывай действия :)

APM 08.11.2001 21:44

А как насчет таких "очевидных" вещей как выполнение функции в зависимости от имени мувика (movik_n._name)? Или например в каждом или только в требуемых мувиках прописывать требуемую функцию. И вызывать ее не зависимо есть она или ее в данной копии в принципе нет?

RFMitrio 09.11.2001 14:12

2gOloVasTicK '~: Я про это и писал :) , но это слишком просто и очевидно. А вот есть ли другой способ?
2ATM: Вызывать функцию надо не извне, а из самого мувика. Оптимизация требует распараллеливание процесса выполнения скрипта, то есть нельзя перебирать все имена мувиков в цикле и делать с ними действия.
Вот и интересно - есть ли способ динамически приписать акции к мувику или к фрейму?

Koxa 09.11.2001 15:35

Может сделать в мувике такой обработчик:
onClipEvent (keyUp) {
virtFunc(Key.getCode());
}
А каждому экземпляру мувика эту функцию присвоить свою:
MovieClip1.virtFunc=function(keyCode){
...действия для 1-го...
}
MovieClip2.virtFunc=function(keyCode){
...действия для 2-го...
}
ну и т.д.
я, честно говоря, так не пробовал, но может сработает
если сработает, напиши, плиз

vol 09.11.2001 16:22

Это просто.
 
Вложений: 1
Делатся это весьма незатейливо. В моем примере я продублировал 5 мувиков со стандартной кнопкой с именами mu1...mu5. Затем для каждой из них написал обработчики событий - функции f1...f5.
Для первой самой кнопки, которая дублируется - пишем обращение к функции:

on (release) {
nm=this._name;
n=nm.substr(2,1);
callFunction="f"+n;
_root[callFunction]();
}

Собственно, и все дела. Каждая кнопка обрабатывает свое событие (свою функцию).
Исходник вкладываю.

RFMitrio 09.11.2001 16:35

Спасибо, народ! Все равно это немного не то, но в процессе обсуждения узнал много интересного!

vol 09.11.2001 16:44

Ну, замени онрелиз на онклипевент, что от этого изменится по существу? Тебе ведь нужна была обработка события по имени - так она и будет.

[subway]design 09.11.2001 16:56

Я кажется опоздал на разговор...
 
В общем есть кул функция eval();
Дльше делайте что хотите, а за примеры спасибо!

RFMitrio 09.11.2001 17:21

2vol: Главное, что то же самое я и говорил! Только внутрь мувика вставляем клип и функцию вызываем относительно _parent._name.
А я просто думал, что может существовать некая функция типа setFun(movieClipName, function) :) :) , например недокументированная.
И еще подвопрос: можно ли получить имя мувиклиипа вместе с абсолютным путем ( непросто _name=mc, а _root.mc1....mc )?

=LJ= 09.11.2001 17:45

вроде бы свойство клипа _target это делает, если я тебя правильно понял и мы об одном говорим.


Часовой пояс GMT +4, время: 00:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.