package { import away3d.containers.View3D; import away3d.entities.Mesh; import away3d.lights.PointLight; import away3d.materials.ColorMaterial; import away3d.materials.lightpickers.StaticLightPicker; import away3d.primitives.*; import flash.display.Sprite; import flash.events.Event; import flash.display.StageScaleMode; import flash.display.StageAlign; import away3d.debug.AwayStats; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundMixer; import flash.utils.ByteArray; import flash.events.SampleDataEvent; import away3d.stereo.StereoCamera3D; import away3d.stereo.StereoView3D; import away3d.stereo.methods.AnaglyphStereoRenderMethod; import away3d.stereo.methods.InterleavedStereoRenderMethod; //import flash.geom.Vector3D; /** * Show me da cube * @author Abiyasa * **thanks for the cube basic to Abiyasa have to learn much.. this doea realy help */ public class Main extends Sprite { private var _camera:StereoCamera3D; private var _view:StereoView3D; private var _cube:Mesh; private var _light:PointLight; private var _lightPicker:StaticLightPicker; [Embed(source="../sound/DA CHIP-D-Funk-AYD.mp3")] private var loopy : Class; private var sound : Sound; public function Main():void { var ba: ByteArray = new ByteArray(); var pulse: Number =0; var z14: Number =100; var z03: Number=0; var z18: Number=0; var z10: Number=0; var z16: Number=0; var z16b: Number =0; var z11: Number=0; var xcach: Number = 0; var xcahc: Number = 0; var xcahcx: Number = 0; var rainu: Number = 0; var cubes:Number = 150; var cubeys: Array = new Array(); var cubeysc: Array = new Array(); var cubeysc2: Array = new Array(); var cubeak: Number = 0; var _cube:Mesh; var cubeyscolor: uint; var material: ColorMaterial; var cubedl: Number = 0; var coloi: uint = 0; var cach:Number = 0; var maxcube: Number = 0; //500 colors linear rainbow steps array var rainbow: Array = new Array("0xFF0000","0xFF0300","0xFF0600","0xFF0900","0xFF0C00","0xFF0F00","0xFF1200","0xFF1500","0xFF1800","0xFF1B00","0xFF1E00","0xFF2100","0xFF2400","0xFF2700","0xFF2A00","0xFF2D00","0xFF3000","0xFF3400","0xFF3700","0xFF3A00","0xFF3D00","0xFF4000","0xFF4300","0xFF4600","0xFF4900","0xFF4C00","0xFF4F00","0xFF5200","0xFF5500","0xFF5800","0xFF5B00","0xFF5E00","0xFF6100","0xFF6400","0xFF6800","0xFF6B00","0xFF6E00","0xFF7100","0xFF7400","0xFF7700","0xFF7A00","0xFF7D00","0xFF8000","0xFF8300","0xFF8600","0xFF8900","0xFF8C00","0xFF8F00","0xFF9200","0xFF9500","0xFF9900","0xFF9C00","0xFF9F00","0xFFA200","0xFFA500","0xFFA800","0xFFAB00","0xFFAE00","0xFFB100","0xFFB400","0xFFB700","0xFFBA00","0xFFBD00","0xFFC000","0xFFC300","0xFFC600","0xFFC900","0xFFCD00","0xFFD000","0xFFD300","0xFFD600","0xFFD900","0xFFDC00","0xFFDF00","0xFFE200","0xFFE500","0xFFE800","0xFFEB00","0xFFEE00","0xFFF100","0xFFF400","0xFFF700","0xFFFA00","0xFFFD00","0xFCFF00","0xF9FF00","0xF6FF00","0xF3FF00","0xF0FF00","0xEDFF00","0xEAFF00","0xE7FF00","0xE4FF00","0xE1FF00","0xDEFF00","0xDBFF00","0xD8FF00","0xD5FF00","0xD2FF00","0xCFFF00","0xCBFF00","0xC8FF00","0xC5FF00","0xC2FF00","0xBFFF00","0xBCFF00","0xB9FF00","0xB6FF00","0xB3FF00","0xB0FF00","0xADFF00","0xAAFF00","0xA7FF00","0xA4FF00","0xA1FF00","0x9EFF00","0x9BFF00","0x97FF00","0x94FF00","0x91FF00","0x8EFF00","0x8BFF00","0x88FF00","0x85FF00","0x82FF00","0x7FFF00","0x7CFF00","0x79FF00","0x76FF00","0x73FF00","0x70FF00","0x6DFF00","0x6AFF00","0x67FF00","0x63FF00","0x60FF00","0x5DFF00","0x5AFF00","0x57FF00","0x54FF00","0x51FF00","0x4EFF00","0x4BFF00","0x48FF00","0x45FF00","0x42FF00","0x3FFF00","0x3CFF00","0x39FF00","0x36FF00","0x32FF00","0x2FFF00","0x2CFF00","0x29FF00","0x26FF00","0x23FF00","0x20FF00","0x1DFF00","0x1AFF00","0x17FF00","0x14FF00","0x11FF00","0x0EFF00","0x0BFF00","0x08FF00","0x05FF00","0x02FF00","0x00FF01","0x00FF04","0x00FF07","0x00FF0A","0x00FF0D","0x00FF10","0x00FF13","0x00FF16","0x00FF19","0x00FF1C","0x00FF1F","0x00FF22","0x00FF25","0x00FF28","0x00FF2B","0x00FF2E","0x00FF31","0x00FF35","0x00FF38","0x00FF3B","0x00FF3E","0x00FF41","0x00FF44","0x00FF47","0x00FF4A","0x00FF4D","0x00FF50","0x00FF53","0x00FF56","0x00FF59","0x00FF5C","0x00FF5F","0x00FF62","0x00FF66","0x00FF69","0x00FF6C","0x00FF6F","0x00FF72","0x00FF75","0x00FF78","0x00FF7B","0x00FF7E","0x00FF81","0x00FF84","0x00FF87","0x00FF8A","0x00FF8D","0x00FF90","0x00FF93","0x00FF96","0x00FF9A","0x00FF9D","0x00FFA0","0x00FFA3","0x00FFA6","0x00FFA9","0x00FFAC","0x00FFAF","0x00FFB2","0x00FFB5","0x00FFB8","0x00FFBB","0x00FFBE","0x00FFC1","0x00FFC4","0x00FFC7","0x00FFCA","0x00FFCE","0x00FFD1","0x00FFD4","0x00FFD7","0x00FFDA","0x00FFDD","0x00FFE0","0x00FFE3","0x00FFE6","0x00FFE9","0x00FFEC","0x00FFEF","0x00FFF2","0x00FFF5","0x00FFF8","0x00FFFB","0x00FEFF","0x00FBFF","0x00F8FF","0x00F5FF","0x00F2FF","0x00EFFF","0x00ECFF","0x00E9FF","0x00E6FF","0x00E3FF","0x00E0FF","0x00DDFF","0x00DAFF","0x00D7FF","0x00D4FF","0x00D1FF","0x00CEFF","0x00CAFF","0x00C7FF","0x00C4FF","0x00C1FF","0x00BEFF","0x00BBFF","0x00B8FF","0x00B5FF","0x00B2FF","0x00AFFF","0x00ACFF","0x00A9FF","0x00A6FF","0x00A3FF","0x00A0FF","0x009DFF","0x009AFF","0x0096FF","0x0093FF","0x0090FF","0x008DFF","0x008AFF","0x0087FF","0x0084FF","0x0081FF","0x007EFF","0x007BFF","0x0078FF","0x0075FF","0x0072FF","0x006FFF","0x006CFF","0x0069FF","0x0065FF","0x0062FF","0x005FFF","0x005CFF","0x0059FF","0x0056FF","0x0053FF","0x0050FF","0x004DFF","0x004AFF","0x0047FF","0x0044FF","0x0041FF","0x003EFF","0x003BFF","0x0038FF","0x0035FF","0x0031FF","0x002EFF","0x002BFF","0x0028FF","0x0025FF","0x0022FF","0x001FFF","0x001CFF","0x0019FF","0x0016FF","0x0013FF","0x0010FF","0x000DFF","0x000AFF","0x0007FF","0x0004FF","0x0001FF","0x0200FF","0x0500FF","0x0800FF","0x0B00FF","0x0E00FF","0x1100FF","0x1400FF","0x1700FF","0x1A00FF","0x1D00FF","0x2000FF","0x2300FF","0x2600FF","0x2900FF","0x2C00FF","0x2F00FF","0x3200FF","0x3600FF","0x3900FF","0x3C00FF","0x3F00FF","0x4200FF","0x4500FF","0x4800FF","0x4B00FF","0x4E00FF","0x5100FF","0x5400FF","0x5700FF","0x5A00FF","0x5D00FF","0x6000FF","0x6300FF","0x6700FF","0x6A00FF","0x6D00FF","0x7000FF","0x7300FF","0x7600FF","0x7900FF","0x7C00FF","0x7F00FF","0x8200FF","0x8500FF","0x8800FF","0x8B00FF","0x8E00FF","0x9100FF","0x9400FF","0x9700FF","0x9B00FF","0x9E00FF","0xA100FF","0xA400FF","0xA700FF","0xAA00FF","0xAD00FF","0xB000FF","0xB300FF","0xB600FF","0xB900FF","0xBC00FF","0xBF00FF","0xC200FF","0xC500FF","0xC800FF","0xCC00FF","0xCF00FF","0xD200FF","0xD500FF","0xD800FF","0xDB00FF","0xDE00FF","0xE100FF","0xE400FF","0xE700FF","0xEA00FF","0xED00FF","0xF000FF","0xF300FF","0xF600FF","0xF900FF","0xFC00FF","0xFF00FD","0xFF00FA","0xFF00F7","0xFF00F4","0xFF00F1","0xFF00EE","0xFF00EB","0xFF00E8","0xFF00E5","0xFF00E2","0xFF00DF","0xFF00DC","0xFF00D9","0xFF00D6","0xFF00D3","0xFF00D0","0xFF00CD","0xFF00C9","0xFF00C6","0xFF00C3","0xFF00C0","0xFF00BD","0xFF00BA","0xFF00B7","0xFF00B4","0xFF00B1","0xFF00AE","0xFF00AB","0xFF00A8","0xFF00A5","0xFF00A2","0xFF009F","0xFF009C","0xFF0098","0xFF0095","0xFF0092","0xFF008F","0xFF008C","0xFF0089","0xFF0086","0xFF0083","0xFF0080","0xFF007D","0xFF007A","0xFF0077","0xFF0074","0xFF0071","0xFF006E","0xFF006B","0xFF0068","0xFF0064","0xFF0061","0xFF005E","0xFF005B","0xFF0058","0xFF0055","0xFF0052","0xFF004F","0xFF004C","0xFF0049","0xFF0046","0xFF0043","0xFF0040","0xFF003D","0xFF003A","0xFF0037","0xFF0034","0xFF0030","0xFF002D","0xFF002A","0xFF0027","0xFF0024","0xFF0021","0xFF001E","0xFF001B","0xFF0018","0xFF0015","0xFF0012","0xFF000F","0xFF000C","0xFF0009","0xFF0006","0xFF0003"); var s4: SoundChannel; //have not found a soundtransform if (!sound) { sound = (new loopy) as Sound; s4 = sound.play(0, 9999); } super(); _camera = new StereoCamera3D(); _camera.stereoOffset = 6; _view = new StereoView3D(); _view.antiAlias = 3; _view.camera = _camera; _view.stereoEnabled = true; _view.stereoRenderMethod = new AnaglyphStereoRenderMethod(); _view.backgroundColor = 0x000000; // _view.camera.position = new Vector3D(0, 0, 0); _view.camera.x =(stage.stageWidth /13); _view.camera.y =(stage.stageHeight /17); _view.camera.z =00; // _view.camera.position.x =150; // _view.camera.position.y = 230; // _view.camera.position.z = -50; // _view.camera.lookAt(new Vector3D()); this.addChild(_view); addChild(new AwayStats(_view)); _light = new PointLight(); _light.x = 20; _light.y = -50; _light.z = -30; _light.color = 0xFFFFFF; _view.scene.addChild(_light); _lightPicker = new StaticLightPicker([ _light ]); addEventListener(Event.ENTER_FRAME, loopyd); function loopyd(e: Event) { SoundMixer.computeSpectrum(ba, true); for (var i: uint = 0; i < 256; i++) { //1024 4 if (i == 200) { var wuschy15bc: Number = ba.readFloat() * 600; xcahcx = wuschy15bc;} if (i == 16) { //1 = low frequency, 256 = high frequency var wuschy15b: Number = ba.readFloat() * 600; xcahc = wuschy15b;} if (i == 24) { var wuschy15: Number = ba.readFloat() * 300; // multiplikator = exponenzielle empfindlichkeit z03 = wuschy15; // minikorrectur var z08: Number = z14 + 40; // differenz offset gelb und deterction var z08b: Number = z08 - z14; var z09a: Number = z14 + z08b; var z09b: Number = z14; var z09aa: Number = wuschy15; if (z03 > 20) { //offset 40 ist der mindestpegel damit beaterkennung läuft if (z03 < z14) { z14 -= 0.1; //offset speed } else { z14 += 0.1; //offset speed } } if (z18 == 0 && z10 == 1) { pulse = 1; } if (z10 == 1) { // anzeigeverlängerung z11 += 1; z16 += 1; z16b += 1; z18 = 1; } if (z16 >= 20) { //wartedauer bis neue mögliche anzeige z16 = 0; z18 = 0; z10 = 0; z16b = 0; z11 = 0; } if (z03 > 20) { // uberhaupt musik da if (z03 < z08) { // bild5.graphics.beginFill(0x0000FF); } else { // bild5.graphics.beginFill(0xFFFFFF); z10 = 1; } //umfärben bei beat +signalm } if (pulse == 1) {coloi = Math.random() * 500; _view.backgroundColor = rainbow[coloi]; trace(pulse); pulse = 0; cach = Math.random() * 5 +3; } //ende beaterkennung ----------------------------------- } } if (cach >= 0 ) {cach -= 1; } if (cach <=1) { _view.backgroundColor = rainbow[coloi]; _view.backgroundColor = 0x000000; } if (maxcube <= cubeak) {machcube(); } if (cubeak >=2) { bewegecube(); _view.render(); } } function bewegecube() { for (var cu3 = 0; cu3 < cubeak; cu3++ ) { var _cube: Mesh = cubeys[cu3]; var cubeyscolor: uint = cubeysc[cu3]; var material: ColorMaterial = cubeysc2[cu3]; _cube.rotationY += 4; _cube.rotationX += 2; _cube.rotationZ += 3; _cube.z -= 5; if (z03 >= 1 ) {_cube.scaleX = 0.5 +z03 /120;} if (_cube.x > 50) {_cube.x += Math.random() * 5 -2.2;}// _cube.x *= 1.01; } if (_cube.x < 50) {_cube.x -= Math.random() * 5 -2.2;}// _cube.x *= 0.99; } if (_cube.y > 50) {_cube.y += Math.random() * 3 -1.2;}// _cube.y *= 1.01;} if (_cube.y < 50) {_cube.y -= Math.random() *3 -1.2;}// _cube.y *= 0.99;} cubeyscolor += Math.random() * 10; if (cubeyscolor >= 500) {cubeyscolor = 0;} if (_cube.z < -100) { cubeyscolor = Math.random() * 500; _cube.material = material; _cube.z = 600; _cube.x = Math.random() * (stage.stageWidth /8);; _cube.y = Math.random() * (stage.stageHeight /8); } material.color = rainbow[cubeyscolor]; _cube.material = material; cubeysc[cu3] = cubeyscolor; cubeysc2[cu3] = material } } function machcube() { cubedl++; if (cubedl >= (Math.random() *6)) { if (cubeak <= cubes) { cubeak++; var rainu: Number = 0; var cubeyscolor: Number = Math.random() * 500; var material:ColorMaterial = new ColorMaterial(rainbow[cubeyscolor]); _cube = new Mesh(new CubeGeometry(Math.random() * 10, Math.random() * 12, Math.random() * 14, 8, 40, 10), material); _cube = new Mesh(new CubeGeometry(Math.random() *10, Math.random() * 12, Math.random() *14, 8, 40, 10), material); _cube.z = 600; _cube.x = Math.random() * 100; _cube.y = Math.random() * 75; material.lightPicker = _lightPicker; cubeys.push(_cube); _view.scene.addChild(_cube); cubeysc.push(cubeyscolor); cubeysc2.push(material); cubedl = 0; maxcube++; }}} function wegcube(cubsy: Mesh) { for (var cu2 = 0; cu2 < cubeak; cu2++) { var _cube: Mesh = (cubeys[cu2]); if (_cube == cubsy) { cubeak--; cubeys.splice(cu2, 1); cubeysc.splice(cu2, 1); cubeysc2.splice(cu2, 1); _view.scene.removeChild(_cube); }}} stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener(Event.RESIZE, onStageResize); function onStageResize(event:Event):void { _view.width = stage.stageWidth; _view.height = stage.stageHeight; } } } }