3

我在理解对象的 x 和 y 位置以及它的 3D 旋转和它的 z 位置之间的关系时遇到了一些麻烦。

在 3D 空间中操作对象时,如何确定对象的高度和宽度?我认为它与 getRelativeMatrix3D() 有关,但不知道如何。

如果我想确定沿对象的全局 x 和 y(不是对象的“主要”x 或 y,而是沿对象“表面”的任何点),我该怎么做?

谢谢你的帮助。

4

1 回答 1

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,而是沿对象“表面”的任何点),我该怎么做?

于 2014-02-10T18:00:33.733 回答