My first papervision spectrum analisys experiment

pretty simple but i figured it out

music by ModdJobbs, my brother,  its an mc chris remix of  “Older Croud”
http://www.myspace.com/moddjobs

Go get the newest flash player if you dont have it please.

http://www.adobe.com/products/flashplayer/

Heres the example.

b00000010

midippvthingy2

And heres the code

WAY over imported, but its an experiment.

get TweenMax and the version of GreatWhite thats current with this post. both links are posted somewhere on this site.

the MP3 should be in the same folder as the SWF. its named OC.mp3 at the moment.


import flash.display.Sprite;
import flash.events.Event;
import flash.system.Security;
import flash.text.TextField;
import flash.text.TextFormat; 
import flash.events.Event;
import flash.ui.Mouse;
import flash.display.DisplayObject;
import flash.display.Shape;
import gs.*;
import gs.easing.*;
import gs.TweenMax;
 
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.core.utils.Mouse3D;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.shadematerials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.view.BasicView;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.core.effects.*;


var sp:Sprite = new Sprite();
addChild(sp);

var viewport:Viewport3D = new Viewport3D(0, 0, true, true);
sp.addChild(viewport);
viewport.buttonMode = true;
                       
var renderer:BasicRenderEngine = new BasicRenderEngine();
                       
var scene:Scene3D = new Scene3D();
                       
var camera:Camera3D = new Camera3D();
camera.zoom = 11;
camera.focus = 100; 
//Spectrum Analisys///////////////////////////
var s:Sound = new Sound(new URLRequest("OC.mp3"));
s.play(1, 0);

var pointArray:Array = new Array();
var ba:ByteArray = new ByteArray();
for(var i:uint=0; i<255; i++)
  {
   var randomColor:Number = Math.random() * 0xffffff;
   var shape:Shape = new Shape();
   with(shape)
    {
     graphics.beginFill(randomColor);
     graphics.drawRect(0, 0, 2, 2);
     graphics.endFill();
    }
   var material:MovieMaterial = new MovieMaterial(shape);
   //animated needs to be true to tween the color
   material.animated = true;
   material.doubleSided = true;
   material.interactive = false;
   var plane:Plane = new Plane(material, 3, 3);
   plane.x = i * 3.75 - stage.width/2 +5;
   plane.y = 0;
   plane.name = "plane"+i;
   scene.addChild(plane);
   pointArray[i] = scene.getChildByName("plane"+i);
   //trace(pointArray);
   
   
   }

addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  
  function enterFrameHandler(event:Event):void
  {
   SoundMixer.computeSpectrum(ba, false, 2);
   for(var i:uint=0; i<255; i++)
    {
     var num:Number = -ba.readFloat()*100;
     //trace(num);
     pointArray[i].scaleY = num;
     
    }
    camera.x -= (camera.x-(stage.stageWidth*0.5-mouseX)/(stage.stageWidth*0.5)*1600)*0.2;
   camera.y -= (camera.y-(stage.stageHeight*0.5-mouseY)/(stage.stageHeight*0.5)*800)*0.2;
   
   camera.y = Math.max(-300, camera.y);
    renderer.renderScene(scene, camera, viewport);
    
  }

 

 

 

Tags: , , , , ,

Leave a Reply