繁体   English   中英

对象不绕枢轴点旋转

[英]Object does not rotate around pivot point

我有一个看起来像这样的对象: 在此输入图像描述

当我尝试使用[INSTANCENAME].rotation += 10;旋转它时[INSTANCENAME].rotation += 10; 它仍然围绕物体的中间旋转。 难道我做错了什么?

我做了一些研究,显然没有直接的方法来以编程方式更改枢轴点,AFAIK。 相当奇怪,因为您可以在Flash Pro IDE中更改它。 (对于那些读数,枢轴点与注册点不同。)

[编辑:更多地考虑它,我不认为枢轴点实际上“存在”,至少在可编程属性的背景下。 它仅存在于Flash IDE中的某些工具的上下文中。

您需要将对象ALONE放在另一个对象中,以便内部对象的所需枢轴点位于外部对象的中心上方。 然后,旋转外部对象。

您可以稍后通过更改内部对象的位置来控制对象的“轴心点”。

由于外部对象的中心根据其大小移动,并且内部对象的位置决定外部对象的大小,因此您需要应用一些数学运算。 内部对象的x位置需要等于从内部对象上的期望枢轴点到该内部对象的最右边缘的距离。 相同的概念适用于y位置。

无论您选择哪种方式,都可以直接在IDE中完成,也可以通过代码完成。

动态更改此代码的示例。 此函数位于外部对象内。 (如果需要,可以从事件监听器获取pivotX和pivotY。)[抱歉,代码未经测试。]

function newPivot(int pivotX, int pivotY):void
{
   inner.x = inner.width - pivotX;
   inner.y = inner.height - pivotY;
}

我希望能解决你的问题!

一个非常简单的方法就是这样做。

  1. 将图像转换为符号(MovieClip)。 [你可能已经做过了]。
  2. 双击MovieClip / Sprite进入内部。
  3. 移动图像,使注册点对准枢轴。

注意:仅适用于FLASH IDE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM