1

我可以每帧设置影片剪辑的“可见”属性,还是应该检查“可见”属性的当前状态以确定是否需要更新?

将“可见”属性设置为相同的值是否便宜?请提供来源。

4

2 回答 2

3

没关系。

visible属性只是一个设置,然后在 DisplayList 下次呈现时读取。除了将用于绘制对象的内部属性设置为您提供的值之外,更新其值实际上并没有做任何事情。您可以修改visible每帧多次的值,它的执行方式相同。

基本上,当 Flash 在您添加到 DisplayList 的所有 DisplayObject 上运行时,它会检查每个标志和值的集合,例如x、和。它使用这些值来确定如何绘制对象。当您使一个对象不可见时,真正发生的只是 Flash 将跳过该对象而不尝试绘制它。yalphavisible

为了整洁,我会坚持不使用if.

于 2013-05-08T23:10:50.940 回答
0

我确信有底层代码可以防止它被设置为相同的值,正如 Amy 提到的,但如果你想绝对确定,你可以这样做:

if ( !mc.visible ) {
    mc.visible = true;
}

如果您将其设置为 false,则执行相反的操作。

if ( mc.visible ) {
    mc.visible = false;
}

如果它尚未设置为该值,那只会更改该值。您显然希望确保它们永远不会彼此相邻,因为您的组件总是以可见 = false 结束。

于 2013-05-08T16:06:48.567 回答