【问题标题】:How to show tooltips inside a ScrollPane without letting Flash 8 hide the tooltip?如何在不让 Flash 8 隐藏工具提示的情况下在 ScrollPane 中显示工具提示?
【发布时间】:2012-01-26 23:53:42
【问题描述】:

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

【问题讨论】:

标签: flash actionscript-2 scrollpane


【解决方案1】:

我假设您在ScrollPanecontentPath 中加载一个影片剪辑。此影片剪辑动态加载 另一个 影片剪辑,即工具提示。如果您以这种方式加载工具提示,深度无关紧要: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();
};

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

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

【讨论】:

  • 很高兴知道。感谢您的支持(我假设是您)!
  • @iND:iND,对不起,这是我的错:我想给你丰富的回复投赞成票,但我投了反对票……如果你稍微修改一下你的回复,我似乎可以投赞成票。
  • 好的,感谢您的评论。我编辑了它,所以看看是否有任何变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多