
30.10.2005, 14:57
|
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
не совсем понятно вопрос это или ответ...
но в любом случае, простая оптимизация кода поможет жить:
this.enterFrameHandler = function() {
this.mask_mc._xscale += 2;
this.mask_mc._yscale += 2;
var obj = {x:this._width, y:this._height};
this.localToGlobal(obj);
if (this.mask_mc.hitTest(obj.x, obj.y)) {
delete this.onEnterFrame;
this.mask_mc.removeMovieClip()
}
};
this.addPlane = function() {
var d = this.getNextHighestDepth();
var t_mc = this.createEmptyMovieClip("plane"+d+"_mc", d);
var m_mc = t_mc.attachMovie("mask_mc", "mask_mc", 0);
t_mc.setMask(m_mc);
t_mc.onEnterFrame = this.enterFrameHandler
};
//........................................
this.addPlane()
скрипт не идеален, но уже более-менее причесан:
- не создается для каждого мувика свой обработчик. он один на всех.
- в обработчике нет вычисляемых (eval) ссылок. мы четко знаем кто и где у нас лежит.
- добавление мувика реализовано как метод, работающий в любом
мувиклипе и не нарушающий его существующую структуру.
- маску кладем прямо в мувик, она прекрасно справится
со совими обязанностями и там.
|