Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 24th, 2010  |  syntax: ActionScript 3  |  size: 1.89 KB  |  hits: 244  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package virtue.effects
  2. {
  3.         import com.greensock.easing.Bounce;
  4.         import flash.display.MovieClip;
  5.        
  6.         import flash.events.Event;
  7.         import flash.events.TimerEvent;
  8.         import flash.filters.ShaderFilter;
  9.         import flash.display.Shader;
  10.         import flash.utils.ByteArray;
  11.         import flash.utils.Timer;
  12.         import com.greensock.*;
  13.         /**
  14.          * ...
  15.          * @author virtue
  16.          */
  17.         public class ThunderEffect extends MovieClip
  18.         {
  19.                 [Embed("../../../bin/thunder.pbj", mimeType="application/octet-stream")]
  20.                 private var PixelBenderThunderEffect:Class;
  21.                
  22.                 private var shader:Shader;
  23.                 private var shaderFilter:ShaderFilter;
  24.                 public var contrast:Number = 1.0;
  25.                 private var timer:Timer;
  26.                 private var repeats:int = 3;
  27.                 private var duration:Number = 0.1;
  28.                 private var myTween:TweenMax;
  29.  
  30.                 public function ThunderEffect()
  31.                 {
  32.                         init();
  33.                 }
  34.                
  35.                 private function init(back:MovieClip):void
  36.                 {
  37.                         shader = new Shader(new PixelBenderThunderEffect() as ByteArray);
  38.                         shaderFilter = new ShaderFilter(shader);
  39.                        
  40.                         timer = new Timer(1000, 0);                    
  41.                         timer.addEventListener(TimerEvent.TIMER, timerComplete, false, 0, true);
  42.                         timer.start();
  43.                 }
  44.                
  45.                 private function changeContrast():void
  46.                 {
  47.                         shader.data.contrast.value = [contrast];
  48.                         background.filters = [shaderFilter];                   
  49.                 }
  50.                
  51.                 private function timerComplete(e:TimerEvent):void
  52.                 {
  53.                         timer.delay = randomNumber(5000, 30000);
  54.                                        
  55.                         repeats = int( randomNumber(1, 7) );
  56.                        
  57.                         if (repeats % 2 == 0)
  58.                         {
  59.                                 repeats++;
  60.                         }
  61.                        
  62.                         myTween = new TweenMax(this, duration, { contrast:1.5, onComplete:launchSound, onUpdate:changeContrast, ease:Bounce.easeInOut, repeat:repeats, yoyo:true } );
  63.                
  64.                 }                              
  65.                
  66.                 private function launchSound():void
  67.                 {
  68.                         //Insira aqui seu código para tocar o som
  69.                 }
  70.  
  71.                 private function randomNumber(low:Number, high:Number):Number
  72.                 {
  73.                         return Math.round(Math.random() * (high - low)) + low;
  74.                 }      
  75.  
  76.         }
  77.  
  78. }