PDA

Просмотр полной версии : срабатывают одновременно два события


AndreyY
08.08.2005, 13:44
Добрый день!
Такая проблема, у меня два мувика расположены рядом с друг другом, при срабатывании событии одного onRollOut соответственно срабатывает событие другого onRollOver, в обих обработчиках этих событий есть переход gotoAndStop(frNum), так вот что получается - в onRollOut переход срабатывает, а в onRollOver нет, хотя трейсы отрабатывают в обоих! Как с этим бороться :confused:

KidsKilla
08.08.2005, 13:51
а ты хочешь, чтобы он переходил сразу на 2 фрейма? =))

iNils
08.08.2005, 13:56
положи исходник

AndreyY
08.08.2005, 14:05
Хочу по очереди ))))
Прикрепляю исходник! В нем я убрал обработчики onRollOut и вот что получил. Мне нужно чтобы подсветка гасла при уходе мыши. Может посоветуете, как сделать все правильно?

KidsKilla
08.08.2005, 14:28
MovieClip.prototype.playBackward = function() {
if(!this["$playBack_mc"]){
this.createEmptyMovieClip("$playBack_mc", this.getNextHighestDepth());
} else {
this["$playBack_mc"].removeMovieClip();
}
this["$playBack_mc"].onEnterFrame = function() {
this._parent.prevFrame()
if (this._parent._currentframe == 1) {
this["$playBack_mc"].removeMovieClip();
}
};
};
MovieClip.prototype.playForward = function() {
if(this["$playBack_mc"]) this["$playBack_mc"].removeMovieClip();
this.play();
}
my4_mc.onRollOver = my3_mc.onRollOver = my2_mc.onRollOver = my1_mc.onRollOver = function () {
if(_global.currentMc) _global.currentMc.playBackward();
this.playForward();
_global.currentMc = this;
}

AndreyY
08.08.2005, 14:48
Примного благодарен !! KidsKilla как всегда не оставил в беде!!
Но можно еще пару коментариев !))
Какова должна быть организация самого мувика!?
Я обьясню как у меня было:
При наведении на мувик я переходил на соответствующий фрейм, откуда твином менял ему альфу с 0 до 100, а при потере курсора пытался переходить в начальное положение (что собственно у меня и не получалось).
В случае использования этого кода, я так понимаю, подразумевается что сам мувик должен содержать несколько фреймов, где и меняет свою прозрачность !? Я правильно понял ??

KidsKilla
08.08.2005, 15:04
да, правильно. но тебе ничто не мешает поменять мувик.
my4_mc.onRollOver = my3_mc.onRollOver = my2_mc.onRollOver = my1_mc.onRollOver = function () {
if(_global.currentMc) _global.currentMc.playBackward();
this._parent.myOther_mc.playForward();
_global.currentMc = this._parent.myOther_mc;
}

AndreyY
08.08.2005, 15:33
Посмотри что получилось ! Явно что то нужно делать при onRollOut!
Что скажешь ?

KidsKilla
08.08.2005, 16:56
и чего?
там свф нерабочий.

AndreyY
08.08.2005, 17:05
Уже все ОК! Просто в твоем варианте, при выведении курсора с дома, последняя выделенная часть оставлась выделенной, а я сделал так

plot4.onRollOver = plot3.onRollOver = plot2.onRollOver = plot1.onRollOver = function () {
this.playForward();
};

plot4.onRollOut = plot3.onRollOut = plot2.onRollOut = plot1.onRollOut = function(){
this.playBackward();
};

И все отлично заработало!!
ОГРОМНОЕ СПАСИБО ЗА ИДЕЮ, А ГЛАВНОЕ ЗА ПРИМЕР КОДА !!!!