Форум 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)
-   -   Fade in fade out (http://www.flasher.ru/forum/showthread.php?t=81202)

vsovinflash 14.06.2006 16:11

Fade in fade out
 
Здравствуйте коолеги как сделать мязгие переходы через альфу и паузу между ними
мой код такой:
Код:

_root.createEmptyMovieClip("slideShow_mc",1);
setProperty("slideShow_mc", _x, "0");
imageArray = new Array("images/image1.jpg", "images/image2.jpg", "images/image3.jpg", "images/image4.jpg", "images/image5.jpg");
randNum = random(5);
slideShow_mc.loadMovie(imageArray[randNum]);


Reijii 14.06.2006 16:16

а где тут альфа ?

ps. и где тег " [code] "

vsovinflash 14.06.2006 16:21

альфу я не знаю как сделать вот и спрашиваю уважаемых профессоров

Reijii 14.06.2006 16:59

вот, набросал на скорую руку, в начале было лень, но подумал может в будующем вопросов не будет подобных ;).

альфа по сути тут
Код:

mx.transitions.TransitionManager.start(target, {type:mx.transitions.Fade, direction:0, duration:.3, easing:mx.transitions.easing.Regular.easeOut});

//  duration:.3 - скорость в секундах провки
//  direction:0 - направление проявки ( 0 или 1)
//  easing:mx.transitions.easing.Regular.easeOut - вид проявки,
//  все подробности в help

Код:

stop();
var slideShowContainer:MovieClip = _root.createEmptyMovieClip("slideShow_mc", 1);
//
var loader:MovieClipLoader = new MovieClipLoader();
var loaderListener:Object = new Object();
var imageArray:Array = new Array("images/image1.jpg", "images/image2.jpg", "images/image3.jpg");
var numImages:Number = imageArray.length;
var current:Number = random(numImages);
var prev:Number = current;
var interval:Number;
//
loader.addListener(loaderListener);
//
StartShow();
function StartShow():Void
{
        if (imageArray[current] && current != prev)
        {
                LoadImage(current);
                current = random(numImages);
        }
        else
        {
                current = random(numImages);
                StartShow();
        }
}
//
function LoadImage($num:Number):Void
{
        loader.loadClip(imageArray[$num], slideShowContainer);
        prev = $num;
        clearInterval(interval);
        //
}
loaderListener.onLoadComplete = function(target:MovieClip, httpStatus:Number):Void
{
        interval = setInterval(StartShow, 2000);
};
//
loaderListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void
{
        if (Math.floor(bytesLoaded / 1024) == Math.floor(bytesTotal / 1024))
        {
                mx.transitions.TransitionManager.start(target, {type:mx.transitions.Fade, direction:0, duration:.3, easing:mx.transitions.easing.Regular.easeOut});
        }
};
//
loaderListener.onLoadError = function(target:MovieClip, errorCode:String):Void
{
        clearInterval(interval);
        current = random(numImages);
        StartShow();
};


etc 14.06.2006 17:12

Reijii, зачем ты используешь типизацию там, где от неё никакого смысла нет? Я бы сказал, даже вред.

Nirth 14.06.2006 17:36

Цитата:

Reijii, зачем ты используешь типизацию там, где от неё никакого смысла нет? Я бы сказал, даже вред.
лично я пишу код в FlexDevelop/Sepy, там с типизацией легко, и авто комплит удобный=)

Reijii 14.06.2006 17:38

Цитата:

Сообщение от __etc
Reijii, зачем ты используешь типизацию там, где от неё никакого смысла нет? Я бы сказал, даже вред.

а чем вред ?. подскажи в чем не прав, плиз.
пишу по привычке, в классах так пишу все параметры и переменные,
да и глазу легче понять что за зверь..


2 Nirth: я тоже FlashDevelop, правда сейчас перехожу в новых проектах на Eclipse + FDT.

vsovinflash 14.06.2006 17:48

Огромное спасибо - буду разбираться респектище

etc 14.06.2006 17:54

Цитата:

Сообщение от Reijii
а чем вред ?. подскажи в чем не прав, плиз.
пишу по привычке, в классах так пишу все параметры и переменные,
да и глазу легче понять что за зверь.

Для AS1 чужда подобная типизация. Если тебе потребуется скомпилировать такой проект под 6-ой плеер, то он ругнётся на каждую строку с типизацией.

Reijii 14.06.2006 17:56

Цитата:

Сообщение от __etc
Для AS1 чужда подобная типизация. Если тебе потребуется скомпилировать такой проект под 6-ой плеер, то он ругнётся на каждую строку с типизацией.

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

Nirth 14.06.2006 18:00

Цитата:

Для AS1 чужда подобная типизация. Если тебе потребуется скомпилировать такой проект под 6-ой плеер, то он ругнётся на каждую строку с типизацией.
Человека спросили код, и он ответил как знает=)

Reijii 14.06.2006 18:07

да :umnik2: .. а знает пока маловато, но охотно учится :bb:

Nirth 14.06.2006 18:08

Цитата:

да .. а знает пока маловато, но охотно учится
я сам такой же=) на ActionScript 1.0, не могу и 20ти строк кода написать.

etc 14.06.2006 18:28

Иногда бывают такие "быстрые" проекты, что сделать надо уже вчера. Именно в таких случаях в них я пишу "по-бырику" на AS1.

Reijii 14.06.2006 18:32

к сожалению, или к счатью такого пока не приходилось делать..
я пока сосредотачиваюсь на AS2 + поглядываю на Flex 2, AS 3.

Nirth 14.06.2006 18:34

Цитата:

Иногда бывают такие "быстрые" проекты, что сделать надо уже вчера. Именно в таких случаях в них я пишу "по-бырику" на AS1.
кто на чем пишет, это его дело, суть в том что, кто как умеет, Reijii написал код на AS2, и это его право, и упрекать за типизацию, не считаю правильным.

Reijii 14.06.2006 18:39

ну упрекать не нужно было, но я узнал новое )
я думаю правы Nirth и _etc. просто Nirth снисходительней а _etc нет ;)

etc 14.06.2006 18:45

А я и не упрекаю. Но более, чем уверен, что для вас было бы неприемлимо видеть код AS2/AS3 без типизации. То же самое и здесь, только наоборот.

Reijii 14.06.2006 18:46

подведем итоги :) :drinks:

vsovinflash 15.06.2006 13:53

Итог такой скрипт действует только под 8й плеер, как его оптимизнуть хотяб под 7й???

etc 15.06.2006 14:14

Уверен?

7thsky™ 15.06.2006 15:34

Цитата:

Сообщение от __etc
Иногда бывают такие "быстрые" проекты, что сделать надо уже вчера. Именно в таких случаях в них я пишу "по-бырику" на AS1.

у меня пол системы написанно на АS2 и под 6 плеер, ни каких проблем.. при компиляции

Madasan 15.06.2006 17:51

Цитата:

Сообщение от __etc
Для AS1 чужда подобная типизация. Если тебе потребуется скомпилировать такой проект под 6-ой плеер, то он ругнётся на каждую строку с типизацией.

AS2 замечательно компилится под 6 плеер! Версия плеера и версия AS - разные вещи.

etc 15.06.2006 22:12

Цитата:

Сообщение от Madasan
AS2 замечательно компилится под 6 плеер!

Flash MX понятия не имеет, что такое AS2. И вообще, причём тут AS2?

Nirth 16.06.2006 02:13

Цитата:

Flash MX понятия не имеет
а зачем тебе Flash MX? ты сидишь в семерке, или восьмерке, кодишь на ас2 и экспортируешь в 6ой плеер
Цитата:

причём тут AS2?
нам даже баннеры на ас2 удобней делать =)

etc 16.06.2006 10:13

Насколько я помню, в разных шестых версиях плеера может много чего не работать. Если уж делать под шестерку, то и надо играть по правилам шестерки, а не играть с экспортом ас2 в старших версиях.

vsovinflash 16.06.2006 16:36

не работает по 6-й и 7-й версии плеера выданный пример. Как можно добиться работы?

Madasan 16.06.2006 19:40

Цитата:

Сообщение от __etc
Насколько я помню, в разных шестых версиях плеера может много чего не работать. Если уж делать под шестерку, то и надо играть по правилам шестерки, а не играть с экспортом ас2 в старших версиях.

При экспрте для шестерки восмерка тебе обязательно укажет чего из твоих художеств не будет работать в шестерке, кроме того в хэлпе везде указывается доступность той или иной функции как для плеера так и для версии AS. AS2- просто синтаксическая надстройка, которая делает язык удобней, а все классы после компиляции становяться свойствами объекта _global, только и всего, и никакую типизацию плеер не понимает :)

silin 16.06.2006 21:05

2vsovinflash, вот тебе 6-рочный вариант:
Код:

this.createEmptyMovieClip("slideShow_mc",1);
imageArray = new Array("images/image1.jpg", "images/image2.jpg", "images/image3.jpg", "images/image4.jpg", "images/image5.jpg");
slideShow_mc.loadMovie(imageArray[random(5)]);
function loadRandom(){
        this.createEmptyMovieClip("tmp",0);
        tmp.loadMovie(imageArray[random(imageArray.length)]);
        this.onEnterFrame=function(){
                if(tmp._width) this.onEnterFrame=function(){
                        slideShow_mc._alpha-=10
                        if(slideShow_mc._alpha<=0){
                                tmp.swapDepths(slideShow_mc);
                                slideShow_mc.removeMovieClip();
                                tmp._name="slideShow_mc";
                                delete this.onEnterFrame;
                        }
                }
        }
}
setInterval(this,"loadRandom",2000);



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

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