当我写代码时:
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如何处理呢???当我只是更改属性的值时,如何更改可见性?我看不到任何事件被派遣或某事!
答案 0 :(得分:1)
visible
是MovieClip
的属性,只有在渲染帧时才会考虑该属性。首先,运行时检查movieClip是否已添加到显示列表,然后检查movieClip是否为visible
。如果这两个属性都为true,则呈现movieClip。没有与movieclip相关的事件可见或不可见。
答案 1 :(得分:1)
幕后没有任何事情发生。
Flash会渲染每个帧,因此如果对象在第一个帧中可见,则会渲染它。然后在下一帧中,屏幕的变化区域被粉刷,并重新渲染。现在,如果所述对象不可见,则根本不进行渲染。
注意:更改_visible会使对象无效,因此Flash知道此处已更改某些内容并且需要重新呈现。