设置时场景后面会发生什么._visible = false

时间:2012-02-10 12:03:20

标签: flash actionscript

当我写代码时:

var x:MovieClip = new MovieClip();
....
...
x._visible = false;

然后ActionScript隐藏了动画片段。当我导航到MovieClip类然后找到_visible时,它只是一个布尔属性以及其他比例:

dynamic intrinsic class MovieClip
{
        .......
    var _height:Number;
    var _alpha:Number;
    var _lockroot:Boolean;
    var _visible:Boolean;
        .......
}

但Flash如何处理呢???当我只是更改属性的值时,如何更改可见性?我看不到任何事件被派遣或某事!

2 个答案:

答案 0 :(得分:1)

visibleMovieClip的属性,只有在渲染帧时才会考虑该属性。首先,运行时检查movieClip是否已添加到显示列表,然后检查movieClip是否为visible。如果这两个属性都为true,则呈现movieClip。没有与movieclip相关的事件可见或不可见。

答案 1 :(得分:1)

幕后没有任何事情发生。

Flash会渲染每个帧,因此如果对象在第一个帧中可见,则会渲染它。然后在下一帧中,屏幕的变化区域被粉刷,并重新渲染。现在,如果所述对象不可见,则根本不进行渲染。

注意:更改_visible会使对象无效,因此Flash知道此处已更改某些内容并且需要重新呈现。