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

Rogue Leader 06.07.2005 04:34

анимация дождя
 
Собственно это и хотел спросить, правда, более распространенно - кто-нибудь такую вещь делал в своих работах, если да, то объясните plz как достичь более-менее реального эффекта дождя. Не анимировать же каждую капельку...

Artem Brigert 06.07.2005 04:53

эххх ... :) как-то в далёком 2000 году я увидел http://www.kerzen.com ... :) и поехало

Dvaman 06.07.2005 09:06

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

pogga 06.07.2005 13:51

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

УильямБрэдберри 06.07.2005 14:19

берешь код:

Код:

// ----------- начало кода copy+paste ------------------
//-------------------------------------------------------------------------
//    Copyright ©  Willyam Bradberry 2005
//    [flash - master] mailto:willyam@newmail.ru
//    wb@3wgraphics.net
//-------------------------------------------------------------------------
var dropCont = _root.createEmptyMovieClip( "dropCont", 1 );
var field_width = 400 // ШИРИНА ОКНА
var Vlimit = 300; // ОГРАНИЧЕНИЕ ВЫСОТЫ ОКНА капель
var MYinterval = 50 // СКОРОСТЬ ПОЯВЛЕНИЯ капель (50  штук в секунду)

var windSpeed = 5; // скорость ветра
var dropSpeed = 30; // скорость падения капель
var dropAngle = 80; // угол наклона капель

var F_drop = function()
{
        i++
        var nmc = dropCont.createEmptyMovieClip( "m"+i, i );
        //================================
        with(nmc)
        {
        colors = [ 0xFFFFFF, 0xFFFFFF];
        alphas = [ 100, 0 ];
        ratios = [ 0x55, 0xFF ];
        matrix = { a:25, b:0, c:0, d:0, e:25, f:0, g:25, h:25, i:1 };
        beginGradientFill( "radial", colors, alphas, ratios, matrix );
        lineto(0, 50);
        lineto(50,50);
        lineto(50, 0);
        lineto(0,0);
        endFill();
        }
        //================================
        var xs = Math.floor(Math.random()*100)+50;
        nmc._xscale = xs*2;
        nmc._yscale = xs/10;
        nmc._rotation = dropAngle;
        //================================
        nmc._x = Math.floor(Math.random()*field_width)
        nmc.speed = Math.random()*2+.5;
        nmc._alpha = 50;
        nmc.randomSpeed = Math.random()*randomSpeed;
        //================================
        var r = nmc.createEmptyMovieClip( "r",1);
        r.onEnterFrame = function()
        {
                var tp = this._parent
                tp._y += tp.speed;
                //================================
                if(tp._alpha < 100)
                {
                        tp._alpha+=10
                }
                //================================
                var xp = tp._x + windSpeed;
                var yp = (tp._y + dropSpeed);
                //================================
                tp._x = xp;
                tp._y = yp;
                //================================
                if(tp._y > Vlimit)
                {
                        tp.removeMovieClip();
                }
        }
}
//F_snow()
setInterval(F_drop,1000/MYinterval)
// ------------ конец кода -------------

выделяешь весь текст в этом окошке (там где код)
копируешь и вставляешь в первый пустой кадр флэхи
(фон при этом должен быть темных тонов)
настраиваешь, как нравится

(КОД совместим с FLASH MX и совместим с FLASH MX2004-v7 при выставленных настройках публикации FLASH 6 (ctrl+shift+f12 > flash > version > flash player 6)!)

если довести до ума, можно угол поворота капель привязать к скорости ветра и падения, также сделать рандомизацию скорости и сделать симуляцию капель на стекле, флаг - в руки

Speedway 22.03.2008 05:10

Классный дождик - вот только никак не могу его засунуть между слоями - в контейнер (пустой мувик). Все время поверх капает

iNils 22.03.2008 05:18

Для уже созданного пустого контейнера с кодом, надо самую первую строчку кода заменить на
Код:

var dropCont = this;

Sancho_74 26.11.2008 14:04

Скинте, пожалуйста рабочий исходник в почту, sisoev74@mail.ru, а то у меня не работает почему- то, очень нужно.

fame_fatale 26.11.2008 14:39

Люди, кому не сложно, объясните, как вставить код в пустой кадр (по-шагово) в шестерке?

Валиант 26.11.2008 14:50

Artem Brigert, а причем здесь свечи О_о


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

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