Hi Daevid
i got expected result here, can you try this one
package
> {
> import away3d.core.base.Object3D;
> import away3d.core.draw.ScreenVertex;
> import away3d.primitives.Cube;
> import away3d.test.SimpleView;
>
> public class main extends SimpleView
> {
> private var obj3D:Object3D;
> private var playerObj:Cube;
>
> override protected function create() : void
> {
> obj3D = new Object3D();
> view.scene.addChild(obj3D);
>
> playerObj = new Cube();
> view.scene.addChild(playerObj);
>
> start();
> }
>
> override protected function draw() : void
> {
> obj3D.x = -49;
> obj3D.y = -409;
> obj3D.z = 644;
>
> playerObj.x = 252;
> playerObj.y = 144;
> playerObj.z = 365;
>
> var screenPos:ScreenVertex = view.camera.screen(obj3D);
> trace ("\n1:"+screenPos);
>
> var playerPos:ScreenVertex = view.camera.screen(playerObj);
> trace ("2:"+playerPos);
>
> trace ("3:"+screenPos);
> }
> }
> }
>
>
//trace
1:new ScreenVertex(25.219159292903864, 336.5091636732586,
> 1842.9672270553267)
> 2:new ScreenVertex(-129.54944125557188, 17.702749600223974,
> 1845.2032950328266)
> 3:new ScreenVertex(25.219159292903864, 336.5091636732586,
> 1842.9672270553267)
>
or i miss something there?
2009/1/30 Daevid <[email protected]>
>
> Hi, I've got a strange situation where:
>
> var screenPos:ScreenVertex=world.camera.screen(obj3D);
> trace ("1:"+screenPos) // 1:new ScreenVertex
> (-49.61870339233873, -406.57275400634956, 644.4843658996576)
>
> var playerPos:ScreenVertex=world.camera.screen(playerObj);
> trace ("2:"+playerPos) // 2:new ScreenVertex
> (252.88942855011769, 144.02638600552004, 365.5745165621339)
>
> trace ("3:"+screenPos) // 3:new ScreenVertex
> (252.88942855011769, 144.02638600552004, 365.5745165621339)
>
> The first variable changes, when calling the function again...? Why
> does the trace function add the new keyword before?
>
> The obj3d is an "empty" object 3d with only a position set and added
> to the scene, could this create this strange behavior?
>
> Thanks for any help!
>
> /David
--
katopz
http://www.sleepydesign.com