Просмотр полной версии : mc.onEnterFrame = _root.func(); и this
Kotenochek
21.02.2006, 15:24
В _root прописана некая функция func(), которая должна срабатывать в нескольких мувиках каждый кадр... Хотелось бы использовать в этой функции this и _parent, но они упорно ссылаются на рут, а не на мувик в котором вызывается функция. ЧТО ДЕЛАТЬ?
Homo Sapiens
21.02.2006, 15:33
Повеситься. Так проще всего.
Homo Sapiens
21.02.2006, 15:34
Для каждого ролика присвой функцию, сделай _lockroot - должно помочь
Kotenochek
21.02.2006, 15:36
Для каждого ролика присвой функцию, сделай _lockroot - должно помочь
А можно поподробней? "Для чайников"?
Функция прописана в руте и this указывает на рут.
Навскидку
function halfAlpha(mcName){
_root[mcName]._alpha=50;
}
А еще enterFrame...
вызов в твоем случае:
mc.onEnterFrame = _root.halfAlpha(_name);
еще есть прототипы, классы ...
Kotenochek
21.02.2006, 15:59
Смысл понятен, но _root[mcName] будет работать только если мувик в руте лежит... можно конечнонаписать
function halfAlpha(mcName){
mcName._alpha=50;
}
mc.onEnterFrame = _root.halfAlpha(mc);
но неужели нет более красивого спрособа?
Смысл понятен, но _root[mcName] будет работать только если мувик в руте лежит... можно конечнонаписать
function halfAlpha(mcName){
mcName._alpha=50;
}
mc.onEnterFrame = _root.halfAlpha(mc);
но неужели нет более красивого спрособа?
Будет работать где бы не лежал мувик, если ты в качестве mcName будешь подставлять полное имя свего мувика.
Если нужен красивый метод читай про прототипы.
Kotenochek
21.02.2006, 16:13
Спасибо почитаю...
Собственно с прототипами всё просто
MovieClip.prototype.p_changeAlpha = function() {
this.onEnterFrame = function() {
if (this._alpha == 0) {
delete this.onEnterFrame();
} else {
this._alpha -= 1;
}
};
};
// Пример использования
my_mc.p_changeAlpha();
MovieClip.prototype.halfAlpha=function(){
this._alpha=50;
}
Вызывается:
mc.onEnterFrame= function(){
this.halfAlpha();
}
Kotenochek
21.02.2006, 17:02
Ой! Спасибо всем огромное!!!!!!! Теперь все понятно!!!!! Мяу мяу мяу!!!!! Что бы я без вас делала!!!!!!!!
Ой! Спасибо всем огромное!!!!!!! Теперь все понятно!!!!! Мяу мяу мяу!!!!! Что бы я без вас делала!!!!!!!!
Сама бы допёрла )))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.