4

我有一个滚动窗格的内容,单击该内容时,会显示带有 attachMovieClip 的工具提示影片剪辑;问题是附加的影片剪辑,对于第一行,位于 ScrollPane 的边框下方并且部分不可见。有没有办法解决这个问题(不改变附加影片剪辑的位置?)

4

1 回答 1

3

我假设您正在ScrollPane's中加载一个影片剪辑contentPath。这个movieclip 动态加载另一个movieclip,即工具提示。如果您以这种方式加载工具提示,则深度无关紧要:ScrollPane对象内的所有内容都被剪裁,您将永远无法查看下面的内容。当然,这是ScrollPane课程的重点;它一次只显示一些底层内容,并允许用户滚动。

这是可以复制问题的代码:

this.attachMovie("tooltip1","tooltip1A", 100); //note the high level     
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
    tooltip1A._x = _xmouse;
    tooltip1A._y = _ymouse;
    updateAfterEvent();
};

Mouse.addListener(mouseListener);

把它放在一个库影片剪辑中(调用它paneContentMC)。打开属性。选中“Export for Actionscript”并将“标识符:”文本设为“paneContentMC1”。关闭属性,然后在时间轴上创建一些随机图形paneContentMC

创建另一个名为tooltip. 打开属性。选中“Export for Actionscript”并将“标识符:”文本设为“tooltip1”。

最后,在场景的主时间轴上,创建一个ScrollPane并将“contentPath”属性设为“paneContentMC1”。在此时间线的第一帧的 Actionscript 中放置一个stop();命令。

那里有一个剪辑的工具提示。你如何解决这个问题?

您需要将工具提示附加到 的ScrollPane内容之外的对象。由于您不知道运行时舞台上可能存在或不存在哪些对象,因此请选择一个全局对象,例如_root.

进入Actionscript里面paneContentMC。将代码更改为:

var mc1:MovieClip = _root.attachMovie("tooltip1","tooltip1A", _root.getNextHighestDepth());

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
    _root.tooltip1A._x = _xmouse;
    _root.tooltip1A._y = _ymouse;
    updateAfterEvent();
};

这并不能完全解决问题,因为tooltip1AScrollPane. 但是,如果它tooltip1A正在侦听来自paneContentMC而不是来自鼠标的移动事件,这应该可以解决。

(已编辑以修复投票错误。)

于 2012-01-01T05:26:45.643 回答