Create a text field and append string into it so you can see what is going
on.

txt.text += "i am about to load the model";

txt.text += "load failed" + e; // in the fail function handler
txt.text += "load success - now adding child"; // in the success handler

then see what's written in your text field online.

Probably another path issue. use ./ instead of / and make sure you upload
you assets to their correct locations etc. Apart from that hope the txt
field gives more info.

GL

D




On 12 April 2011 02:37, Morantis <ad...@revolutionvps.us> wrote:

> I used the methods that Darcey used in his example and replaced his
> model with my own and came up with errors about a null object.  I have
> had these errors come up before in this same context and assumed my
> max3ds loader scripts were not right, it turned out in the end that
> both the methods I used were viable and obviously darcey's scripts
> work fine for him.  In the end, this all came down the the simple fact
> that the path to the model needed the preceding "/".  I was using a
> root folder model and needed to specific to Away3D the exact relative
> path.  This has come up for me in PHP issues before and I jumped right
> on it, but didn't catch this one early enough.  Thanks to all who
> helped.
>
>
>
> On Apr 10, 11:02 pm, Morantis <ad...@revolutionvps.us> wrote:
> > I need to know what the exact format and syntax for importing a basic
> > 3d model into Flash through Away3D is.  I have done a lot of searching
> > and seen various methods that for me seem to produce varying errors or
> > no visible object.  This is just a test to make sure I understand the
> > concept before actually getting deeply into the programming, so for
> > that reason I have not used a material for the model.  I assume that
> > Away3D will still produce a visible result, just as a cube or sphere
> > can be seen without assigning a specific material.  Let me say first
> > that i fully understand the class imports and that is not an issue.  I
> > have used AS on and off, so I understand that for the most part, plus
> > have other programming experience, so that is not the major issue.  I
> > am using Flash CS5 I believe and AS3 and Flash 10 formats.  I have an
> > intial stage and use an external class for all the Away3D AS
> > scripting.  I am playing with it and basically putting together a
> > template to build furture Away3D/Flash from.  I am going to post the
> > entire external package here, and I know it has some issues, it copied
> > and pasted some portions from the Earth/Stars tutorial to save time
> > and I have used 2 movie clips for zooming in and out on a basic cube.
> > I used 3DMax to make a very basic torus and exported it to the root
> > folder for the app and named it tube.3ds, I also produced a smaller
> > version of the same called tube2.3ds.  You will see a lot of commented
> > out lines as I have tried many methods to import the model.  I even
> > tried as a Wavefront OBJ.  I really find this as the last stumbling
> > block to going somewhere with this software so please help.  Here's my
> > current AS...
> >
> > package
> > {
> >
> >         import flash.display.Sprite;
> >         import away3d.containers.*;
> >         import away3d.core.base.*;
> >         import away3d.primitives.*;
> >         import away3d.materials.*;
> >         import away3d.core.utils.Cast;
> >         import away3d.cameras.*;
> >         import flash.filters.BitmapFilter;
> >         import flash.filters.BitmapFilterQuality;
> >         import flash.filters.BitmapFilterType;
> >         import flash.filters.GlowFilter;
> >         import flash.events.MouseEvent;
> >         import flash.events.Event;
> >         import away3d.core.render.Renderer;
> >         import flash.events.KeyboardEvent;
> >         import flash.events.*;
> >         import away3d.loaders.Max3DS;
> >         import away3d.loaders.Obj;
> >
> >         //import fl.motion.MotionEvent;
> >
> >         public class hhh extends Sprite
> >         {
> >
> >                 public function hhh()
> >                 {
> >
> >                         var move:Boolean = false;
> >                         var lastPanAngle:Number;
> >                         var lastTiltAngle:Number;
> >                         var lastMouseX:Number;
> >                         var lastMouseY:Number;
> >                         var skies:Sphere;
> >                         var scene:Scene3D = new Scene3D();
> >                         // Create and set up the camera
> >                         var camera:HoverCamera3D = new
> HoverCamera3D({zoom:2,focus:
> > 200,distance:400});
> >                         camera.panAngle = -180;
> >                         camera.tiltAngle = 15;
> >                         camera.hover(true);
> >                         camera.yfactor = 1;
> >                         var view:View3D = new
> View3D({scene:scene,camera:camera});
> >                         addChild(view);
> >                         view.x = 250;
> >                         view.y = 200;
> >                         var desk:Cube = new
> Cube({material:"blue#white"});
> >                         desk.height = 15;
> >                         desk.width = 150;
> >                         desk.depth = 25;
> >                         desk.x = 100;
> >                         view.scene.addChild(desk);
> >
> >                         //var tube=new Max3DS();
> >                         var tube:Max3DS=new Max3DS.load("tube.3ds");
> >                         //var tube2:Obj=new Obj("tube2.obj");
> >                         //view.scene.addChild(tube);
> >                         tube.scale(100);
> >                         view.render();
> >
> >                         function MouseDown(event:MouseEvent):void
> >                         {
> >                                 lastPanAngle = camera.panAngle;
> >                                 lastTiltAngle = camera.tiltAngle;
> >                                 lastMouseX = stage.mouseX;
> >                                 lastMouseY = stage.mouseY;
> >                                 move = true;
> >                         }
> >                         function MouseUp(event:MouseEvent):void
> >                         {
> >                                 move = false;
> >                         }
> >                         function
> MouseOverHandlerplus(event:MouseEvent):void
> >                         {
> >                                 // Start your custom code
> >                                 // This example code displays the words
> "Moused over" in the
> > Output panel.
> >                                 camera.zoom = camera.zoom + 1;
> >
> >                                 // End your custom code
> >                         }
> >                         function
> MouseOverHandlerminus(event:MouseEvent):void
> >                         {
> >                                 // Start your custom code
> >                                 // This example code displays the words
> "Moused over" in the
> > Output panel.
> >                                 camera.zoom = camera.zoom - 1;
> >
> >                                 // End your custom code
> >                         }
> >
> >                         function zoomreset(event:KeyboardEvent):void
> >                         {
> >                                 camera.zoom = 1;
> >
> >                         }
> >
> >                         function onEnterFrame(e:Event):void
> >                         {// rerender viewport
> >                                 var cameraSpeed:Number = 0.3;//
> Approximately same speed as mouse
> > movement.
> >                                 if (move)
> >                                 {
> >                                         camera.panAngle =
> cameraSpeed*(stage.mouseX - lastMouseX) +
> > lastPanAngle;
> >                                         camera.tiltAngle =
> cameraSpeed*(stage.mouseY - lastMouseY) +
> > lastTiltAngle;
> >                                 }
> >                                 camera.hover();
> >                                 view.render();
> >                         }
> >                         addEventListener(Event.ENTER_FRAME,
> onEnterFrame);
> >                         stage.addEventListener(MouseEvent.MOUSE_DOWN,
> MouseDown);
> >                         stage.addEventListener(MouseEvent.MOUSE_UP,
> MouseUp);
> >                         plus.addEventListener(MouseEvent.CLICK,
> MouseOverHandlerplus);
> >                         zoomout2.addEventListener(MouseEvent.CLICK,
> MouseOverHandlerminus);
> >                         stage.addEventListener(MouseEvent.DOUBLE_CLICK,
> zoomreset);
> >                         stage.addEventListener(KeyboardEvent.KEY_UP,
> zoomreset);
> >
> >                 }
> >         }
> >
> > }
> >
> > I can't seem to add a second agument to the new MAX3D without getting
> > an error, so I stopped even trying that.  If I just go with blah:new
> > Max3D(); then I can't find a way to attach this to a model file.
> > var tube:Max3DS=new Max3DS.load("tube.3ds");
> > gives me a method cannot be used as a constructor error.  At this
> > point I cannot remember all the ways I have tried to do this.
>

Reply via email to