2013-04-11 69 views
3

我在处理对象的x和y位置,以及它的3D旋转和z位置之间的关系时遇到了一些麻烦。在AS3中沿着3D空间对象获取宽度,高度,位置

在3D空间中操作时,如何确定对象的高度和宽度?我假设它与getRelativeMatrix3D()有关,但没有看到如何。

如果我想确定沿着的一个对象(不是对象的'main'x或y,而是沿着对象的'surface'的任意点),我该如何确定全局x和y

感谢您的任何帮助。

回答

0

我觉得getBounds有覆盖宽度和高度的问题。

var obj:Sprite = new Sprite(); 
    obj.graphics.lineStyle(0,0,1); 
    obj.graphics.beginFill(0xff9933,1); 
    obj.graphics.drawRect(0,0,50,50); 
    obj.graphics.endFill(); 

    obj.z = 0; 
    addChild(obj); 
    trace(obj.getBounds(obj)); 
    trace(obj.getBounds(this)); 

    obj.rotationX = 30; 
    obj.rotationY = 50; 
    trace(obj.getBounds(obj)); 
    trace(obj.getBounds(this)); 

    //output: 
    (x=0, y=0, w=50, h=50) 
    (x=0, y=0, w=50, h=50) 
    (x=0, y=0, w=50, h=50) 
    (x=0, y=-16, w=42, h=64) 

虽然我不确定你对问题的第二部分的要求。假设你仍然想要一个答案......

如果我想确定沿对象的全局x和y(即不 对象的“主” x或y,但在沿着物体的 任何一点'表面')我该怎么做?