0

我有这个经常创建的工具提示。什么是合适的动作礼仪?

A. 在需要时创建和删除工具提示移动剪辑?

或者

B. 在需要时隐藏和显示工具提示动画片段?

4

2 回答 2

0

有了这些 A 和 B,答案就是 B,因为多次创建然后删除对象会在内存中创建大量垃圾,最终导致垃圾收集器调用,从而降低 SWF 的性能。您可以轻松地使用单个工具提示 MC,只需在显示之前用与新鼠标坐标对应的信息填充它。

还有另一个问题,不像你的那么简单,关于如何通过visible属性或通过addChild()removeChild()(仅限 AS3)隐藏和显示影片剪辑。如果您使用的是 AS2 或 AS1,请使用visible属性来隐藏和显示您的工具提示。

于 2013-02-28T11:10:32.217 回答
0

在 Actionscript 中有三种隐藏内容的方法:Alpha、可见和删除子项。

Apha:如果您将 alpha 设为零,则渲染器始终会到达此 displayObject 并将其渲染为 alpha 零。所以对象总是被渲染你只是看不到它。

Visible == false在这种情况下,该对象仍然存在于您的显示列表中。所以渲染器来到了对象。看到它的属性是假的并离开它,但它仍然存在于显示列表中。

removeChild这意味着您要从显示列表中删除对象。这意味着渲染器甚至不必检查它。这使它成为最快的选择。

addChild 不像可见检查那样占用那么多计算能力。我相信你可以找到这方面的基准。

如果您的屏幕上没有很多对象,并且工具提示每秒钟都在那里,那么我认为可见的是错误的。在所有其他情况下,请使用第三个选项。

附带说明一下,我发现使用 toolTipManager 管理它们总是更容易。确保您在屏幕上有一个工具提示的类,因为通常用户只使用一个工具提示。所以这让我的事情变得更容易。我总是创建必要的工具提示,并在需要时将它们添加到显示列表中并删除它们。(不重新创建它们)同时在舞台上只有一个工具提示。

于 2013-02-28T14:06:01.933 回答