Pétalas caindo randomicamente em actionscript 3

Fala galera, mais um post rapidinho pra variar, vou passar algo bem simples que acabei utilizando em um projeto agora de manha, e gostei do resultado final, então mostrar basicamente como foi feito, e ja da uma noção Actionscript 3, aplicar filtros blur via Actionscript, é bem simples, porem acho que o efeito final ficou bacana!

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Em primeiro lugar, vamos preparar o necessário:

Desenhe uma pétala simples, e exporte a mesma como "petala".

Agora vamos a parte que importa o código!

 
import flash.events.Event;
//Criando um Timer
var myTimer:Timer = new Timer(100);
myTimer.addEventListener(TimerEvent.TIMER, addPetala);
myTimer.start();
 
//Função para retornar um numero randomico passando 2 valores como parametro
function getRandomByRange(min:Number, max:Number, floor:Boolean = false):Number
{
    var randomNum:Number;
    switch(floor)
    {
        case false:
            randomNum = Math.random() * (max - min + 1) + min;
        break
        case true:
            randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
        break;
    }
 
    return randomNum;
}
//Função que adiciona nova petala.
function addPetala(te:TimerEvent):void
{
    var myPetala:petala = new petala();
 
    var scale:Number = getRandomByRange(0.3, 1);
 
    myPetala.scaleX                = myPetala.scaleY = scale;
    myPetala.x                    = Math.random()*stage.stageWidth;
    myPetala.fallingCurve        = getRandomByRange(-2,2,true);
    myPetala.dropSpeed            = (scale/20)*100;
    myPetala.rotateSpeed        = getRandomByRange(-3,3,true);
    myPetala.turn                = 0.1;
 
    var petalaBlur:BlurFilter    = new BlurFilter();
    petalaBlur.blurX            = petalaBlur.blurY = (scale/50)*100;
    petalaBlur.quality            = 3;
 
    var filterArray:Array        = new Array(petalaBlur);
    myPetala.filters            = filterArray;
 
    myPetala.addEventListener(Event.ENTER_FRAME, dropMe);
 
    stage.addChild(myPetala);
}
//Função da animação da petala
function dropMe(e:Event):void
{
    var petala:MovieClip     = e.target as MovieClip;
    petala.x                += petala.fallingCurve;
    petala.y                += petala.dropSpeed;
    petala.rotation            += petala.rotateSpeed;
    petala.scaleX             += petala.turn;
 
    if(petala.scaleX > 1)
    {
        petala.turn = -0.1;
    }
    else if(petala.scaleX < 0)
    {
        petala.turn = 0.1;
    }
 
    if(petala.y > stage.stageHeight+petala.height)
    {
        e.target.removeEventListener(Event.ENTER_FRAME, dropMe);
        e.target.parent.removeChild(e.target);
    }
}

Basicamente a grande sacada aqui é que as petalas que caem na frente, caem mais rapido, e tem mais blur aplicado, dando um efeito bacana de desfoque!

É bem simples mais o efeito final e bacana e bem leve!

Download dos arquivos

Share and Enjoy:
  • Digg
  • del.icio.us
  • Netvouz
  • description
  • ThisNext
  • MisterWong
  • Wists

Tags: , ,

4 Responses to “Pétalas caindo randomicamente em actionscript 3”

  1. muito bom ficou heim.
    vou tentar fazer.
    obrigado.
    http://www.digitalldesignart.com

  2. oscar says:

    Hola,

    gracias por el codigo, esta muy bien hecho.

    por cierto, con que programa hiciste la imagen de background?

    oscar.

  3. Hey hey, we found your website and want ask you to join to

    our community. Please upload your flash and make money!

    http://www.bigstockflash.com

    Let us know if you have some questions. If you have many flash

    files we can offer you some bonus $ so you can upload them all

    Thanks!

Leave a Reply