PDA

Просмотр полной версии : Как найти путь к НЕмувику?


Entropy
27.09.2002, 20:50
Здравствуйте.
Путь к мувику найти просто: _target или tellTarget(), а вот как найти путь к немувику, например, экземпляру класса Sound или Color? Ответы типа, "А зачем?" не предлагать.
Спасибо.

Nox Noctis
27.09.2002, 21:20
хм... ну если не хочешь "зачем", тогда я бы спросил - для чего ? :D

есть оператор with (),
который работает с любым объектом (в т ч и с мувиклипом)

только я не понял что требуется -
обратиться к объекту или получить строку-путь к нему...

Entropy
27.09.2002, 22:10
ОК, система такая. Я создаю мувик, в которм определен мой собственный класс. Особенность этого класса в том, что в нем определены методы, которые через fscommand обющаются с внешним миром. Этим мувиком будет пользоватся другой пользователь, следующим образом: он подгружает в него свой собственный мувик со своим личным кодом, написанным им самим. Ясное дело, что ему станет доступен мой класс. Скажем, он создает экземпляр моего класса вот так: unknownName = new MyClass. Понятное дело, что в этом случае я не знаю каким именно будет имя экземпляра, я даже не буду знать где именно он находится. Положим, юзьверенок запускает метод моего класса, в котором инкапсулирована fscommand, после чего внешняя программа именяет свойство этого самого объекта через setVariable, а соответственно она должна знать путь к объекту. А вот как? Возлагать обязанности по явному указанию имени объекта на юзьверя не есть хорошо: он вообще ничего не должен знать о внутренней реализации класса.

Вот так. Есть несколько идей, но может, коллективный разум помощнее будет?

RFMitrio
28.09.2002, 02:30
По-моему самое простое:
MyClassObj = new MyClass();
MyClassObj.method=function()
{
.......
_global.link2this=this;
fscommand();
}
А во внешней команде устанавливаешь свойство этого самого объекта:
_global["link2this"].property2change=required;
Ты это имел в виду?

Entropy
28.09.2002, 09:47
Спасибо, я тоже именно так и думал. Иначе, как объявить глобальную ссылку на объект к нему не достучишься. Можно правда определить путь _root, а потом пробежаться по свойствам этого рута, в методе, типа for (property in _root) if (property == this) ..., но это сносно работает только для объектов, лежащих "на поверхности", а если объект лежит, скажем, внутри массива объектов, то тут уже совсем криво получается.