Форум 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)
-   -   Не работает onRollOut (http://www.flasher.ru/forum/showthread.php?t=106303)

Odyssus 09.01.2008 02:06

Не работает onRollOut
 
Привет всем. Еще один вопрос по твинам.
загружаю много картинок, которые использую в качестве кнопок, хочу, чтобы при наведении растягивались, когда уходит наведение - картинка ставала прежней. Когда быстро проводишь мышкой по мувикам, они все открываются, и не успевают вернутся в состояние, которое в событии onRollOut , не успевает, наверное.. Пробовал лочить, но не получается. Подскажите, как еще можна эту проблемму решить. Заранее спасибо.
Кусок простенького кода, как я делаю:
Код:

var mcLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function(but:MovieClip) {
but.onRollOver = function(){
                var tween = new Tween(this, "_height", None.easeOut, this._height, 48, 0.5, true);
                                    }
but.onRollOut = function(){
                var tween1 = new Tween(this, "_height", None.easeOut, this._height, 5, 0.2, true);
                                  }
                                                                }
mcLoader.addListener(myListener);
for(i=1;i<=10;i++){
_root.img.createEmptyMovieClip("but_"+i, 100+i);
        var but = _root["but_"+i];
        mcLoader.loadClip("img/w_"+i+".jpg", but);
                        }


MrPoma 09.01.2008 06:02

может быть его надо удалять? (никогда не пользовался твином)

udaaff 09.01.2008 10:14

Останавливайте предыдущий твин.

Odyssus 09.01.2008 10:47

2udaaff, В смысле останавливать предыдущий? Он наоборот сам останавливается. Или не уловил мысли ответа...? по кнопкам всем быстро провел - они сделались высотой 48 и все!

udaaff 09.01.2008 10:56

Код:

but.onRollOver = function () {
        this.tween.stop();
        this.tween = new Tween(this, "_height", None.easeOut, this._height, 48, 0.5, true);
}

but.onRollOut = but.onReleaseOutside = function () {
        this.tween.stop();
        this.tween = new Tween(this, "_height", None.easeOut, this._height, 15, 0.2, true);
}


Odyssus 09.01.2008 11:00

Спс, за код, не помогает...

udaaff 09.01.2008 11:03

Всё помогает. Покажите измененный код.

Odyssus 09.01.2008 11:11

Код:

var mcLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function(but:MovieClip) {
but.onRollOver = function(){
this.tween.stop();
                var tween = new Tween(this, "_height", None.easeOut, this._height, 48, 0.5, true);
                                    }
but.onRollOut = function(){
this.tween1.stop();
                var tween1 = new Tween(this, "_height", None.easeOut, this._height, 5, 0.2, true);
                                  }
                                                                }
mcLoader.addListener(myListener);
for(i=1;i<=10;i++){
_root.img.createEmptyMovieClip("but_"+i, 100+i);
        var but = _root["but_"+i];
        mcLoader.loadClip("img/w_"+i+".jpg", but);
                        }


udaaff 09.01.2008 11:17

Скопипастите мой код, вместо своего и все заработает.

Odyssus 09.01.2008 11:30

2udaaff, спс!!!
Действительно заработало :).
Там надо имена одинаковые давать при over и out - this.tween?


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

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