Форум 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=88635)

ndine 27.11.2006 17:55

Плавное изменение альфы
 
Скажите а можно ли сделать плавное изменение альфы для некоего мувика после его загрузки в сцену? как я понял через цикл это нельзя реализовать.. тогда может есть какой то ещё способ.

etc 27.11.2006 18:12

onEnterFrame.

iNils 27.11.2006 18:22

Или класс Tween
Код:

import mx.transitions.Tween;
var tween:Tween = new Tween (имя клипа, "_alpha", mx.transitions.easing.None.easeNone, начальное значение, конечное значение, количество кадров анимации, false);


ndine 28.11.2006 10:41

iNis Спасибо! класно работает, слушай а можно ли это применить если нужно последовательно один за другим несколько мувиклипов проявить? ну то есть чтоб альфа сначала у одного потом у следуещего поднималась?

iNils 28.11.2006 16:41

Код:

import mx.utils.Delegate;
import mx.transitions.Tween;
var array:Array = new Array (имя клипа 1, имя клипа 2, имя клипа 3);
function order () {
        trace (this + " " + i);
        if (i < array.length) {
                var tween:Tween = new Tween (array[i++], "_alpha", mx.transitions.easing.None.easeNone, начальное значение, конечное значение, количество кадров анимации, false);
                tween.onMotionFinished = Delegate.create (this, order);
        } else {
                trace ("End");
        }
}
i = 0;
order ();


ndine 29.11.2006 13:31

Код:

tween.onMotionFinished = Delegate.create (this, order);
а вот тут точно tween а не Tween? потому что если tween то выдаёт There is no property with the name, а если Tween то отрабатывается только первый клип

iNils 29.11.2006 15:30

Точно tween.
Можно код, который вы в результате стали использовать?
Только для оформления своего кода, надо использовать теги [code][/code].

ndine 29.11.2006 16:21

в том то и дело что пока ещё не могу добиться конечного результата. вобще идея была такая что создаются скажем 20 мувиклипов на сцене с нулевой альфой, и потом один за другим плавное появляются. вот ваш код мне помог сделать пока для одного мувика, а остальные не получаются :( если нужен код в котором я создаю мувики то вот он:

Код:

x = 0;
yy = 2;
for (i=0; i<3; i++) {
        xx = 2;
        for (j=0; j<8; j++) {
                _root.createEmptyMovieClip("main"+x, x);
                _root["main"+x].loadMovie(x+".jpg", "GET");
                _root["main"+x]._alpha = 0;
                _root["main"+x]._x = xx;
                _root["main"+x]._y = yy;
                x++;
                xx += 92;
        }
        yy += 92;
}


iNils 29.11.2006 16:56

Код:

import mx.utils.Delegate;
import mx.transitions.Tween;
var array:Array = new Array ();
function order () {
        if (cx < array.length) {
                var tween:Tween = new Tween (array[cx++], "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 20, false);
                tween.onMotionFinished = Delegate.create (this, order);
        } else {
                trace ("End");
        }
}
////
for (var i:Number = 0, x:Number = 0; i < 3; i++) {
        for (var j:Number = 0; j < 8; j++) {
                array.push (_root.createEmptyMovieClip ("main" + x, x));
                array[x]._alpha = 0;
                array[x]._x = 2 + j * 92;
                array[x]._y = 2 + i * 92;
                x++;
        }
}
for (var i:Number = 0; i < x; i++) {
        //// вместо кода ниже, должна быть ваша загрузка картинок, только надо еще ее дождаться
        var mc:MovieClip = array[i];
        mc.beginFill (0);
        mc.lineTo (50, 0);
        mc.lineTo (50, 50);
        mc.lineTo (0, 50);
        mc.lineTo (0, 0);
}
cx = 0;
order ();



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

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