Что происходит за сценой, когда я устанавливаю ._visible = false - PullRequest
1 голос
/ 10 февраля 2012

Когда я пишу код:

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 ]

1 голос
/ 10 февраля 2012

Ничего не происходит за кадром.

Flash рендерит каждый кадр, поэтому, если объект был виден в первом, он отображается. Затем в следующем кадре измененные области экрана будут побелены и перерисованы. Если теперь указанный объект не виден, он просто не отображается.

Примечание. Изменение _visible делает объект недействительным, поэтому Flash узнает, что здесь что-то изменилось, и его необходимо повторно обработать.

1 голос
/ 10 февраля 2012

visible - это свойство MovieClip, которое учитывается только при визуализации кадра.Во-первых, среда выполнения проверяет, добавлен ли мувиклип в список отображения, а затем проверяет, равен ли мувиклип visible.Если оба эти свойства имеют значение true, то мувиклип будет отображен.Нет событий, связанных с видимостью мувиклипа или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...