获取鼠标位置

可以使用 _xmouse_ymouse 属性找到 SWF 文件中鼠标指针(光标)的位置。每个时间轴都有一个 _xmouse_ymouse 属性,这两个属性返回鼠标在其坐标系统内的位置。该位置始终是相对于注册点而言的。对于主时间轴 (_level0),注册点是左上角。

要查看主时间轴内的 _xmouse_ymouse 属性以及影片剪辑时间轴,可运行下面的 SWF 文件并移动您的鼠标指针。右侧已更新的坐标反映出在这个小的影片剪辑中鼠标相对于注册点的位置。左侧的坐标反映出在较大的 SWF 文件中该鼠标的位置。

下面的步骤说明了获取鼠标位置的两种方式。

获取主时间轴内的当前鼠标位置:

  1. 创建两个动态文本框,然后将它们命名为 x_posy_pos
  2. 如果看不到“动作”面板,则选择“窗口”>“开发面板”>“动作”将其打开。
  3. 若要返回主时间轴内的鼠标位置,请在 _level0 SWF 文件的任意帧中添加以下代码:
    x_pos = _root._xmouse;
    y_pos = _root._ymouse;
    

变量 x_posy_pos 被用作容器,用于放置鼠标位置值。可以在您的文档的任何脚本中使用这些变量。在下面的 onClipEvent() 处理函数中,用户每次移动鼠标时都会更新 x_posy_pos 的值。

onClipEvent(mouseMove) {
  x_pos = _root._xmouse;
  y_pos = _root._ymouse;
}

获取影片剪辑内的当前鼠标位置:

  1. 创建影片剪辑。
  2. 在舞台上选择该影片剪辑实例。使用属性检查器将它命名为 myMovieClip
  3. 如果看不到“动作”面板,则选择“窗口”>“开发面板”>“动作”将其打开。
  4. 使用影片剪辑的实例名称来返回主时间轴内的鼠标位置。

    例如,可将下面的语句放置在 _level0 SWF 文件中的任意时间轴上,以返回 myMovieClip 实例中的 _ymouse 位置:

    x_pos = _root.myMovieClip._xmouse
    y_pos = _root.myMovieClip._ymouse
    

    该代码返回鼠标相对于注册点的 _xpos_ypos 值。

  5. 选择“控制”>“测试影片”对影片进行测试。

您也可以通过在剪辑事件中使用 _xmouse_ymouse 属性来确定鼠标在影片剪辑内的位置,如下面的代码所示:

onClipEvent (enterFrame) {
  xmousePosition = this._xmouse;
  ymousePosition = this._ymouse;
}

有关 _xmouse_ymouse 属性的更多信息,请参见MovieClip._xmouseMovieClip._ymouse