我假设您在ScrollPane 的contentPath 中加载一个影片剪辑。此影片剪辑动态加载 另一个 影片剪辑,即工具提示。如果您以这种方式加载工具提示,深度无关紧要: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”,将“Identifier:”文本设为“tooltip1”。
最后,在场景的主时间轴上,创建一个ScrollPane 并将“contentPath”属性设为“paneContentMC1”。在此时间线的第一帧的 Actionscript 中放置 stop(); 命令。
你有一个剪辑的工具提示。你如何解决这个问题?
您需要将工具提示附加到ScrollPane 内容之外的对象。由于您不知道运行时舞台上可能存在或不存在哪些对象,因此请选择一个全局对象,例如_root。
进入paneContentMC 内的Actionscript。将代码更改为:
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();
};
这并不能完全解决问题,因为tooltip1A 在ScrollPane 之外跟随鼠标。但如果tooltip1A 正在侦听来自paneContentMC 而不是鼠标的移动事件,这应该可以解决。
(已编辑以修复投票错误。)