Форум 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)
-   -   вопрос по "new Tween" (http://www.flasher.ru/forum/showthread.php?t=98016)

Molecula 04.07.2007 21:57

вопрос по "new Tween"
 
Есть функция, мувики скрывает и показывает - слайд шоу.

Код:

function Show_Slide(target:MovieClip) {
var _obj = target;

//-------------------------Появляется мувик----------------------

var sl:Tween = new Tween(_obj, "_alpha", Regular.easeOut, _obj._alpha, 100, 2, true);


//-------------------------Исчезает мувик----------------------

sl.onMotionFinished = function() {
var sl_m:Tween = new Tween(_obj, "_alpha", Regular.easeOut, _obj._alpha, 0, 2, true);
        sl_m.onMotionFinished = function() {

//-------------------------Переход к следущим картинкам----------------------

                                i++;
                                if (i<=4) {
                                        _obj.nextFrame();
                                } else if (i>4) {
                                        _obj.gotoAndStop('start');
                                        i = 1;
                                }
                                Show_Slide(_obj);
                        };
              };
}

Как мне остановить анимацию, обратившись к этой функции?

etc 04.07.2007 22:32

К какой функции?

Molecula 04.07.2007 22:46

Пример громоздкий, возьму такой:

Код:

st.onPress=function(){
Show_Slide(null, bv.stop)       
}

function Show_Slide(target:MovieClip, bv:Tween) {
        var _obj = target;
        var bv:Tween = new Tween(_obj, "_x", Strong.easeOut, _obj._x, 300, 5, true);
}
Show_Slide(mc,act);

Я пытаюсь через параметр функции Show_Slide(), остановить Tween.
Понимаю, что:
Код:

Show_Slide(null, bv.stop)
- не правильно.
А как правильно сделать?
Суть в том, что бы одно слайд-шоу по клику исчезало, и появлялось другое.

Так пытался, тоже не работает:

Код:

st.onPress=function(){
Show_Slide(null,null,false);       
}

function Show_Slide(target:MovieClip, bv:Tween, mov:Boolean) {
        var _obj = target;
        var bv:Tween = new Tween(_obj, "_x", Strong.easeOut, _obj._x, 300, 5, true);
        if(!mov){
                bv.stop();
        }
}
Show_Slide(mc,act);


BigDan 04.07.2007 22:54

bv в Show_Slide типа Tween, а вы передаёте в функцию объект типа Function(bv.stop). В этом проблема

Molecula 04.07.2007 22:59

Перед Вашим ответом, я отредактировал свой предыдущий пост.
Цитата:

bv в Show_Slide типа Tween, а вы передаёте в функцию объект типа Function(bv.stop). В этом проблема
Вы правы, не правильно, я так хотел показать что хочу сделать:
Обратиться через параметр функции, к свойству/методу объекта.

Может, я не вижу простого пути, подкажите плиз.

BigDan 04.07.2007 23:05

в данном случае вы передаёте null и пытаетесь его остановить. Надо поменять область видимости переменной bv, объявить ее вне функции Show_Slide()

lowka 04.07.2007 23:10

Нужно что-то вроде этого?
Код:

import mx.transitions.*;

//ссылка на текущий объект.
var _current;

function showSlide(target)
{
        target.tween =  new Tween(target, "_alpha", Strong.easeOut, 10, 100, 2, true);
        target.tween.start();
       
        return target;
}
//обработчик нажатия
function pressHandler()
{
        if(_current)
        {
                _current.tween.yoyo();
        }
        _current = showSlide(this);
}
//два мувика с альфой меньшей 100.
mc1.onPress = pressHandler;
mc2.onPress = pressHandler;


Molecula 04.07.2007 23:11

Мда...похоже у меня сегодня день "Тормоза".
2 BigDan
Точно :yahoo:, заработало.


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

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