Показать сообщение отдельно
Старый 25.10.2002, 20:03
GrooveSonic вне форума Посмотреть профиль Отправить личное сообщение для GrooveSonic Найти все сообщения от GrooveSonic
  № 3  
GrooveSonic

Регистрация: Jul 2001
Адрес: Россия, Москва
Сообщений: 36
Отправить сообщение для GrooveSonic с помощью ICQ
По умолчанию Оо.. здарова Ноктис.

Читал твой урок тут. Респект, респект. :-) Теперь по делу. Все что ты написал не лишено смысла, но не подходит для моего случае. А случай тяжелый. Пишу мышиный компонент. Вот кусок кода:
Код:
#initclip
....................
function mouseClass() {
	this.init();
}
mouseClass.prototype.init = function() {
	theTarget = this._parent[this._targetInstanceName];
	Mouse.hide();
	theTarget.gotoAndStop("Out");
	startDrag(theTarget, true);
	ASBroadcaster.initialize(this);
};
Button.prototype.onRollOver = function() {
	theTarget.gotoAndStop("Over");
};
...................
как видно theTarget объявлен в _root, что теоретически может вызвать конфликт, если юзер тоже определит в _root переменую с таким же названием. Если theTarget определить в обьекте, то из Button не будет его видно. Ну а определение в функции можно не обсуждать. Так как быть? Где определить этот не счастный theTarget, чтобы он был инкапсультирован в класс и в то же время чтобы Button видел. Выход нашел такой, что сделать mouseClass лисенером Button и писать код для onRollOver от mouseClass, а не от Button как приведено выше. Думал, что молодец, нашел выход, но батюшки. Макромедии опленились сделать addListener() для Button. That's suck. Вот собственно и всплыл вопрос. Как думаешь выйти из ситуации?
__________________
Art & HighTech must live together.