Rob and Peter both have the right idea. Unfortunately, when you add the view sprite to the parent, it inherits the parent's dimensions. Solution? Create two identical scenes, but only add one to the parent display object.
Example: http://www.mediafire.com/?sharekey=c8a7966316f99e07d2db6fb9a8902bda (Sorry about the hosting link. My site is not up currently, so I cannot host it properly. Also, the file upload on this site doesn't appear to load swfs. Feel free to rehost.) AS3: public class BoundTest extends Sprite { private var view:View3D; private var view2:View3D; private var cube:Cube; private var cube2:Cube; private var rect:Rectangle; public function BoundTest() { init(); } private function init():void { view = new View3D({x:200, y:200, clip:new RectangleClipping(-190, -150, 190, 150)}); view2 = new View3D({x:200, y:200, clip:new RectangleClipping(-190, -150, 190, 150)}); cube = new Cube(); cube2 = new Cube(); view.scene.addChild(cube); view2.scene.addChild(cube2); addChild(view); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onEnterFrame(event:Event):void { cube.rotationX += 5; cube.rotationY += 5; cube.rotationZ += 5; cube2.rotationX += 5; cube2.rotationY += 5; cube2.rotationZ += 5; view2.render(); rect = view2.getBounds(this); view.render(); trace(rect.width + ", " + rect.height); } }// of class On Nov 10, 6:46 pm, bakedbeing <[EMAIL PROTECTED]> wrote: > Hey thanks for the tip Rob. I've tried using getBounds on the view, > but it's giving me a bounding rectangle the size of the whole canvas. > Do you know what containers I could look at inside the object to get > something that matches the outline of our object? > > On Nov 8, 12:02 am, "Rob Bateman" <[EMAIL PROTECTED]> wrote: > > > Hey bakedbeing > > > have you tried using the bounding radius property yet? you can access the > > containing radius of any object through the property boundingRadius. This > > doesn't give you a screen bounding box, but you could use a perspective > > calulation on the radius to get a view value and work from there. > > > another quick hack that may be simpler to execute is just taking the > > rectangle returned from getBounds() on the view! this will give you a > > Rectangle instance that you can extract all relevant data relating to the > > bounds of the object inside. > > > atb > > > Rob > > > On Fri, Nov 7, 2008 at 5:42 AM, bakedbeing <[EMAIL PROTECTED]>wrote: > > > > Heya Mango, we were thinking the same here, but it doesn't look like > > > the actionscript API for google maps includes streetview yet, for that > > > you need to be using a browser and javascript as far as I can tell :( > > > > On Nov 7, 3:21 pm, Mango <[EMAIL PROTECTED]> wrote: > > > > Sorry, here's the link: > > >http://code.google.com/apis/maps/documentation/flash/ > > > > > On Nov 6, 10:15 pm, Mango <[EMAIL PROTECTED]> wrote: > > > > > > I'm not sure if this is easier or more useful, but you can use the > > > > > Google Maps API for Flash, add the object to a sprite, and set the > > > > > sprite to the background of the view: > > > > > > var view:View3D = new View3D(...); > > > > > var streetView:Sprite = //google street view API > > > > > view.background = streetView; > > > > > > In this way, transparent space will not interfere with mouse clicks as > > > > > long as you're not using something that fills the entire view (fog > > > > > filter, etc). > > > > > > Quote: > > > > > "The Google Maps API now provides a Street View service for obtaining > > > > > and manipulating the imagery used in Google Maps Street View!" > > > > > > I have no experience with street view or google maps, so this info may > > > > > be completely irrevalant or useless. :P > > > > > > On Nov 6, 9:24 pm, bakedbeing <[EMAIL PROTECTED]> wrote: > > > > > > > Heya Mango, thanks for the response. Yeah I was thinking there's > > > > > > ways > > > > > > to do it using Matrix math and all the values in the render scene, > > > but > > > > > > it's well beyond me to do, and I was hoping that the data would be > > > > > > somewhere in the 3D pipeline and just need to be fished out. > > > > > > > I'm overlaying a 3D object on Google Street View, and it's moving > > > > > > pretty well with the maps, but if you completely cover the > > > > > > streetview > > > > > > with another div with flash on it, you can't click and drag on the > > > > > > streetview below. So I need to calculate my bottle's position, > > > > > > render > > > > > > it, then move my view and move/crop my swf so it's only the size of > > > > > > the drawn 3D object :) > > > > > > > On Nov 7, 2:07 pm, Mango <[EMAIL PROTECTED]> wrote: > > > > > > > > Hello! > > > > > > > > The data in these containers doesn't live long enough to access. I > > > > > > > don't think you can retrieve the properties of the objects without > > > > > > > inserting code into the Away3D classes (and the height and width > > > > > > > default to swf height and width anyway). > > > > > > > > Object3D provides objectWidth, objectHeight, and objectDepth > > > > > > > properties, and from these you can calculate with the projection > > > the > > > > > > > width and height of the drawn graphic. Unfortunately, I do not > > > > > > > have > > > > > > > the time (or knowledge, probably) to show you how to do this. > > > > > > > > I'm curious as to why you need these values, though. To what end > > > does > > > > > > > resizing the swf serve? :) > > > > > > > > On Nov 6, 5:44 pm, bakedbeing <[EMAIL PROTECTED]> wrote: > > > > > > > > > Is there a way to access the graphics container in the view3D or > > > in > > > > > > > > the session object? Something that will give me access to the > > > sprite > > > > > > > > created for each object? > > > > > > > > > On Nov 7, 10:16 am, bakedbeing <[EMAIL PROTECTED]> > > > wrote: > > > > > > > > > > Heya again lads! > > > > > > > > > > Is there a direct way to find a 2D bounding box for an object > > > as > > > > > > > > > finally drawn to the view? > > > > > > > > > > I want to find the top left and bottom right of the object, so > > > I can > > > > > > > > > crop my swf to just the edges of the object (move the view > > > object, > > > > > > > > > resize the swf). > > > > > > > > > > I couldn't find anything in the object3D properties or in > > > view3D. > > > > > > > > > > I was thinking a long way would be to draw the whole view to a > > > > > > > > > bitmapData object with BitmapRenderSession and trawl that for > > > pixel > > > > > > > > > data, but I'm hoping there's something easier? A sprite object > > > inside > > > > > > > > > Projector who's x,y, height and width (in 2D) I can grab?? > > > > > > > > > > Thanks! > > > -- > > Rob Bateman > > Flash Development & Consultancy > > > [EMAIL PROTECTED]
