【问题标题】:AS3 Movieclip center rotation and top left X,Y pointsAS3 影片剪辑中心旋转和左上角 X、Y 点
【发布时间】:2012-05-01 00:11:03
【问题描述】:

我正在创建一个 Flash 图像裁剪器。我可以调整和移动包含我的图像的影片剪辑。该影片剪辑也可以旋转。

我遇到的问题是,为了正确裁剪图像,我需要图像位于 0 度处的原始 X、Y 坐标。这就是我所说的可移动影片剪辑。

无论如何我可以获取旋转度数和当前左上角X,Y并获得0度的原点吗?

感谢您的帮助

【问题讨论】:

  • 确实没有任何代码可以显示。我在舞台上有一个电影剪辑,我从那个 MC 的中心旋转,左上角的 X,Y 会随着你的旋转而改变。我需要在旋转之前找出原始的左上角(0度)
  • 那么你是如何轮换的?你是在设置rotationtransform.matrix,还是什么?看看为什么显示代码更容易?
  • 我正在使用第三方转换管理器,所以为什么没有代码。

标签: actionscript-3 flash actionscript


【解决方案1】:

好吧,您可以让 DisplayObject 为您完成工作:

var tempRotation:Number = displayObject.rotation;
displayObject.rotation = 0;
var referencePoint:Point = new Point(displayObject.x, displayObject.y);
displayObject.rotation = tempRotation;

【讨论】:

  • 我认为这行不通。我知道你要去哪里,但我实际上是从显示对象的中心旋转的。据我所知,使用左上角的点。
  • 我又看了一遍,它按预期工作。谢谢!
  • 很高兴你试过了。正如您所意识到的,它很可能取决于容器层次结构,以及这些精灵相对于它们的父对象的定位方式。对于更通用的解决方案,肯定有一种简单的(被认为有点冗长)纯数学方法。
【解决方案2】:

你为什么不能:

  • 将其旋转到 0 度。

  • 获取新的 x,y。

  • 将其旋转一定角度。


顺便说一句,最好按中心旋转。所以你必须应用类似的东西
  • 向后平移一半宽度和一半高度。

  • 按角度旋转。

  • 翻译回来...

【讨论】:

  • 我是从中心做的。我只是不知道一个公式来计算我的原始点。我不能只是暂时将它旋转到 0 度,因为显示对象在舞台上是可见的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-24
  • 2013-09-29
  • 2014-12-19
相关资源
最近更新 更多