Flash AS2 - 同时拖动多个剪辑

时间:2014-06-20 09:00:15

标签: flash actionscript-2

我在Flash应用程序上有两个界面面板。一个是主界面,另一个是配置面板。配置面板通常是不可见的,但是在可见的情况下,我希望将它的位置锁定到主界面,以便它们同时拖动。

这两个动画片段的附件如下:

var m_Main:MovieClip = attachMovie("MainWindow", "m_Main", getNextHighestDepth());
var m_Settings:MovieClip = attachMovie("SettingsWindow", "m_Settings", getNextHighestDepth());

m_Main剪辑是可拖动的,并在拖动开始/停止时调用这两个函数:

function StartDrag()
{
  m_Main.startDrag(false, m_Borders.left,m_Borders.top, m_Borders.right, m_Borders.bottom);
  if (m_Settings._visible)
  {
    m_IsDragging = true;
    LocateSettingsWindow();
  }
}

function StopDrag()
{
  m_Main.stopDrag();
  if (m_Settings._visible)
  {
    m_IsDragging = false;
    LocateSettingsWindow();
  }
}

LocateSettingsWindow()是:

function LocateSettingsWindow()
{
    var position:Point = new Point(m_Main._x, m_Main._y);

    m_Settings._x = position.x - (m_Settings._width + 15);
    m_Settings._y = position.y;

    if (m_IsDragging)
    {
        _global.setTimeout(this, "LocateSettingsWindow", 10);
    }
}

我发现的每个解决方案都涉及类似的内容。将isDragging值设置为true,然后将第二个剪辑x和y更改为第一个剪辑。问题在于,在我发现的所有示例中,移动第二个剪辑时存在一定程度的延迟,因此它似乎滞后并且在第一个剪辑周围松散地浮动。

有没有办法做到这一点,以便m_Settings更牢固地锁定到m_Main?

0 个答案:

没有答案