AS3设置MovieClip的可见属性

时间:2013-05-08 14:28:23

标签: actionscript-3

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

将“visible”属性设置为便宜与否相同?请提供来源。

2 个答案:

答案 0 :(得分:3)

没关系。

visible属性只是一个设置的标志,然后在DisplayList下次渲染时读取。除了将用于绘制对象的内部属性设置为您提供的值之外,更新其值实际上不会执行任何操作。您可以每帧多次修改visible的值,它会执行相同的操作。

基本上,当Flash在您添加到DisplayList的所有DisplayObject上运行时,它会检查每个拥有的标志和值的集合,例如xy,{{1} }和alpha。它使用这些值来确定如何绘制对象。当你使一个对象不可见时,所有真正发生的事情是Flash会跳过该对象而不是试图绘制它。

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

答案 1 :(得分:0)

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

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

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

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

只有在尚未设置为该值的情况下才会更改该值。你显然希望确保它们永远不会彼此相邻,因为你的组件总是最终以visible = false结束。