获取AS3中3D空间对象的宽度,高度和位置

时间:2013-04-11 00:05:09

标签: actionscript-3 3d

我在查看对象的x和y位置与其3D旋转和z位置之间的关系时遇到了一些麻烦。

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

如果我想确定沿着对象的全局x和y (不是对象的'main'x或y,而是沿着对象的'surface'的任何点)我该怎么办?那样做?

感谢您的帮助。

1 个答案:

答案 0 :(得分: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(不是   对象的'main'x或y,但是在对象的任何一点   '表面')我该怎么做?