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. >