Just add "-use-network=false" (project -> properties -> ActionScript
Compiler -> Additional compiler arguments)

On 13 янв, 14:16, Charles Wardlaw <[email protected]> wrote:
> My first guess is you're running into the local sandbox issue.  I have the 
> same issue with md2 models if I don't embed them.
>
> I'd suggest uploading the whole mess to a webserver, removing the faces from 
> the filename, and barring that, I'd embed the mp3.
>
> Have you tried loading it in the Debug flash player?
> ~ C
>
> On 2010-01-13, at 4:32 AM, metSyS wrote:
>
> > it wirks only if run it in the Flex. if copy : image, track and swf to
> > another place visualisation doesn't work. Why?
>
> > package
> > {
> >    import away3d.cameras.HoverCamera3D;
> >    import away3d.containers.View3D;
> >    import away3d.containers.Scene3D;
> >    import away3d.materials.BitmapMaterial;
> >    import away3d.materials.ColorMaterial;
> >    import away3d.primitives.Cube;
> >    import away3d.primitives.RegularPolygon;
> >    import away3d.primitives.Trident;
> >    import away3d.core.utils.Cast;
>
> >    import flash.display.Bitmap;
> >    import flash.display.Sprite;
> >    import flash.events.Event;
> >    import flash.events.MouseEvent;
> >    import flash.filters.BlurFilter;
> >    import flash.media.Sound;
> >    import flash.media.SoundChannel;
> >    import flash.media.SoundMixer;
> >    import flash.net.URLRequest;
> >    import flash.utils.ByteArray;
> >    import flash.utils.Timer;
>
> >    [SWF(width="1024", height="768", frameRate="30",
> > backgroundColor="#ffffff")]
> >    public class music extends Sprite
> >    {
> >            private var cam:HoverCamera3D;
> >            private var lastKey:uint;
> >            private var keyIsDown:Boolean = false;
> >            private var view:View3D;
>
> >            private var numCubes:Number=16; // Set depending on speed of
> > computer. adjust amplitude accordingly
> >            private var amplitude:Number=70;
> >            private var cubes:Array;
> >            private var cubesMirrored:Array;
> >            private var cubeColors:Array;
> >            private var mp3:Sound;
> >            private var soundBytes:ByteArray;
> >            private var soundPlaying:Boolean=false;
> >            private var soundValues:Array;
> >            private var pausePosition:int=0;
> >            private var channel:SoundChannel;
> >            private var highlightFilter:Array;
> >            private var maxLev:Number=0;
>
> >            private var t:Timer;
>
> >            private var url:String='track.mp3';
> >            private var scene:Scene3D;
>
> >            //camera----------------
> >            private var lastMouseX:Number;
> >            private var lastMouseY:Number;
> >            private var lastPanAngle:Number;
> >            private var lastTiltAngle:Number;
> >            private var move:Boolean = false;
> >            //camera----------------
>
> >            [Embed (source="01.jpg")]
> >            private var greyTexture:Class;
>
> >            public function music()
> >            {
> >                    scene=new Scene3D();
>
> >                    // init objects
> >                    cubes=new Array();
> >                    cubesMirrored=new Array();
> >                    cubeColors=new Array();
> >                    soundBytes=new ByteArray();
> >                    soundValues=new Array();
>
> >                    // setup and load mp3
> >                    mp3=new Sound(new URLRequest(url));
> >                    //mp3.load(new URLRequest("02 Bear Trap.mp3")); // Note: 
> > you will
> > have to change this to point to one of your own mp3 files
> >                    channel=new SoundChannel();
>
> >                    // prefill arrays with zero's
> >                    for(var p:int=0; p<numCubes; p++){
> >                            soundValues.push(0);
> >                            cubeColors.push(0);
> >                    }
>
> >                    // create a "hovering" camera
> >                    cam=new HoverCamera3D();
> >                    cam.z=-1000; // make sure the camera is positioned away 
> > from the
> > default 0,0,0 coordinate
> >                    cam.panangle=20;
> >                    cam.tiltangle=20;
> >                    cam.targetpanangle=20;
> >                    cam.targettiltangle=20;
> >                    cam.mintiltangle=-90;
> >                    cam.zoom=16;
>
> >                    // create a viewport
> >                    view = new View3D({scene:scene, camera:cam, 
> > x:stage.stageWidth/2,
> > y:stage.stageHeight/2});
> >                    addChild(view);
>
> >                    // Show the axis
> >                    var axis:Trident=new Trident(150);
> >                    view.scene.addChild(axis);
>
> >                    // Create and place the cubes
> >                    var i:int; var zPos:int;
> >                    for(i=0; i<numCubes; i++){
> >                            // position left/right channle cubes differently
> >                            if(i<(numCubes/2)){
> >                                    zPos = 15;
> >                            } else {
> >                                    zPos = -15;
> >                            }
>
> >                            // add positive value cubes
> >                            var 
> > xPos:Number=(i%(numCubes/2)*30)-(((numCubes/2)*30)/2)+15;
> >                            var cubeMaterial:ColorMaterial=new 
> > ColorMaterial(0xffffff);
> >                            var cube:Cube=new 
> > Cube({material:cubeMaterial,width:20,height:
> > 1,depth:20,x:xPos,z:zPos,y:5,ownCanvas:true});
> >                            view.scene.addChild(cube);
> >                            cubes[i]=cube;
>
> >                            // add the "reflection" cubes
> >                            var cubeMaterialM:ColorMaterial=new 
> > ColorMaterial(0xffffff);
> >                            var cubeM:Cube=new 
> > Cube({material:cubeMaterialM,width:20,height:
> > 1,depth:20,x:xPos,z:zPos,y:-5,alpha:1,ownCanvas:true});
> >                            view.scene.addChild(cubeM);
> >                            cubesMirrored[i]=cubeM;
> >                    }
>
> >                    // Add a textured plane
> >                    var planeMat:BitmapMaterial=new 
> > BitmapMaterial(Cast.bitmap
> > (greyTexture), {alpha:0.5});
> >                    var plane:RegularPolygon = new 
> > RegularPolygon({material:planeMat,
> > radius:500, sides:4, ownCanvas:true});
> >                    plane.ownCanvas=true;
> >                    view.scene.addChild(plane);
>
> >                    // Create a filter for blurring cubes that get new values
> >                    highlightFilter=new Array(new BlurFilter());
>
> >                    // update the view so the cover has something to display
> >                    cam.hover();
> >                    view.render();
>
> >                    // listen for key events and run every frame
> >                    addEventListener(Event.ENTER_FRAME, onEnterFrame);
>
> >                    // listen for events from the Cover
> >                    addEventListener(Event.ACTIVATE, playSound);
> >                    addEventListener(Event.DEACTIVATE, stopSound);
>
> >                    //camera--------------
> >                    stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
> >                    stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
> >                    //camera--------------
> >            }
>
> >            private function onEnterFrame(e:Event):void
> >            {
> >                            // Grab and set up sound values
> >                            SoundMixer.computeSpectrum(soundBytes,true);
> >                            var tempValue:Number=0;
> >                            var newValues:Array=new Array();
> >                            var 
> > valuesToMerge:Number=Math.floor(512/numCubes);
> >                            var i:uint;
>
> >                            // grab volume averages from 512 samples for use 
> > with X cubes
> >                            for (i=0; i<512; i++) {
> >                                    // read out levels from byteArray
> >                                    var lev:Number = soundBytes.readFloat() 
> > * amplitude;
> >                                    tempValue += lev;
> >                                    // create average so we only get 
> > "numCubes" of values
> >                                    if(i%valuesToMerge == valuesToMerge-1){
> >                                            var avg:Number = 
> > tempValue/numCubes;
> >                                            newValues.push(avg);
> >                                            tempValue = 0;
> >                                    }
> >                            }
>
> >                            // update cubes
> >                            var l:int = newValues.length;
> >                            var newSoundValues:Array = new Array();
> >                            for (i = 0; i < l; i++) {
> >                                    var currentCube:Cube = cubes[i] as Cube;
> >                                    var currentCubeMirror:Cube = 
> > cubesMirrored[i] as Cube;
> >                                    // if the values is higher than the 
> > previous one, go white
> >                                    if(newValues[i] > soundValues[i]){
> >                                            newSoundValues[i] = newValues[i];
> >                                            cubeColors[i] = 128;
> >                                            currentCube.filters = 
> > highlightFilter;
> >                                            currentCubeMirror.filters = 
> > highlightFilter;
> >                                    } else { // If lower, just keep fading
> >                                            var dampedValue:Number = 
> > soundValues[i]-3;
> >                                            if(dampedValue<1){ dampedValue = 
> > 1; }
> >                                            cubeColors[i] -= 10;
> >                                            newSoundValues[i] = dampedValue;
> >                                            currentCube.filters = null;
> >                                            currentCubeMirror.filters = null;
> >                                    }
> >                                    // Adjust cube and mirror cube height
> >                                    currentCube.height = newSoundValues[i];
> >                                    currentCube.y = newSoundValues[i]/2;
> >                                    currentCubeMirror.height = 
> > newSoundValues[i];
> >                                    currentCubeMirror.y = 
> > newSoundValues[i]/2*-1;
>
> >                                    // Adjust color
> >                                    var adjustedColor:uint = cubeColors[i];
> >                                    var colString:String;
> >                                    var colStringMirror:String;
> >                                    var increase:Number = 1.7; // how much 
> > whiter shall the
> > "reflected" cubes be
> >                                    if(i<l/2){ // First X cubes are blue
> >                                            colString = 
> > "0x"+ensureTwoDigits(adjustedColor)+ensureTwoDigits
> > (adjustedColor)+"ff";
> >                                            colStringMirror = 
> > "0x"+ensureTwoDigits(adjustedColor*increase)
> > +ensureTwoDigits(adjustedColor*increase)+"ff";
> >                                    } else { // Next X cubes are red
> >                                            colString = 
> > "0xff"+ensureTwoDigits(adjustedColor)+ensureTwoDigits
> > (adjustedColor);
> >                                            colStringMirror = 
> > "0xff"+ensureTwoDigits(adjustedColor*increase)
> > +ensureTwoDigits(adjustedColor*increase);
> >                                    }
>
> >                                    // Read out and update the material
> >                                    var col:ColorMaterial = 
> > currentCube.material as ColorMaterial;
> >                                    var colM:ColorMaterial = 
> > currentCubeMirror.material as
> > ColorMaterial;
> >                                    col.color = uint(colString);
> >                                    colM.color = uint(colStringMirror);
> >                            }
>
> >                            // update soundValues with new values
> >                            soundValues = newSoundValues.concat();
>
> >                            // rotate the camera around the cubes
> >                            //cam.targetpanangle += .5;
>
> >                            //camera------------------
> >                            var cameraSpeed:Number = 0.3; // Approximately 
> > same speed as mouse
> > movement.
> >                            if (move)
> >                            {
> >                                    cam.targetpanangle = 
> > cameraSpeed*(stage.mouseX - lastMouseX) +
> > lastPanAngle;
> >                                    cam.targettiltangle = 
> > cameraSpeed*(stage.mouseY - lastMouseY) +
> > lastTiltAngle;
> >                            }
> >                            //camera------------------
>
> >                            // render the view
> >                            cam.hover();
> >                            view.render();
> >            }
>
> >            // Clamp and adjust HEX values. Make sure the HEX has an initial
> > zero (if required)
> >            private function ensureTwoDigits(n:uint):String{
> >                    var s:String;
> >                    if(n > 255){ n = 255;}
> >                    if(n < 1){ n = 1;}
> >                    if(n < 16){
> >                            s = "0"+n.toString(16);
> >                    } else {
> >                            s = n.toString(16);
> >                    }
> >                    return s;
> >            }
>
> >            // Sound events triggered by the cover
> >            private function playSound(e:Event):void
> >            {
> >                    if(!soundPlaying){
> >                            soundPlaying = true;
> >                            channel = mp3.play(pausePosition);
> >                            if( 
> > !channel.hasEventListener(Event.SOUND_COMPLETE) ){
> >                                    
> > channel.addEventListener(Event.SOUND_COMPLETE,
> > soundCompleteHandler);
> >                            }
> >                    }
> >            }
>
> >            private function stopSound(e:Event):void
> >            {
> >                    pausePosition = channel.position;
> >                    channel.stop();
> >                    soundPlaying = false;
> >            }
>
> >            // restart the mp3 when finished playing
> >            private function soundCompleteHandler(e:Event):void
> >            {
> >                    pausePosition = 0;
> >                    soundPlaying = false;
> >                    playSound(e);
> >            }
>
> >            //camera-------------
> >            private function MouseDown(event:MouseEvent):void
> >            {
> >                    lastPanAngle =
>
> ...
>
> продолжение >>

Reply via email to