Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   срабатывают одновременно два события (http://www.flasher.ru/forum/showthread.php?t=67658)

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

Вложений: 1
Хочу по очереди ))))
Прикрепляю исходник! В нем я убрал обработчики 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

Вложений: 1
Посмотри что получилось ! Явно что то нужно делать при 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();
};

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


Часовой пояс GMT +4, время: 07:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.