глобальные переменные в AS3 - PullRequest
       1

глобальные переменные в AS3

1 голос
/ 11 декабря 2010

Хорошо, я хочу иметь возможность доступа к определенным переменным из любой точки файла Flash или файлов Flash, загруженных этим файлом Flash. Как мне это сделать? Я не знаю, что такое классы, я не хочу изучать, что такое классы, я не хочу ничего импортировать, я просто хочу иметь возможность инициализировать и получать доступ к определенным переменным из любого места.

Спасибо:)

1 Ответ

8 голосов
/ 11 декабря 2010

Что ж, больше нет _global, как было в as2 - и поскольку вы не хотите использовать классы, вы не можете использовать статические переменные (я могу объяснить это, если вам интересно).Таким образом, вы остались с использованием переменных в корне.Например, вы можете определить переменную на основной временной шкале следующим образом:

var myGlobal:Number = 100;

Если вы хотите получить к ней доступ в другом месте ... то есть на временной шкале других мувиклипов, вам нужно сказать:

MovieClip(root).myGlobal;

Что, если вы никогда раньше не видели, возможно, выглядит абсурдным.По сути, мы приводим корень к мувиклипу, чтобы дать нам доступ к его динамическим свойствам.К счастью, вы можете настроить его так, чтобы вам не приходилось постоянно писать MovieClip (root):

// do this on any movieClip where you want to access globals
var global:MovieClip = MovieClip(root);

trace(global.myGlobal);

Так что, в конце концов, это всего лишь одна дополнительная строка кода, чтобы вернуть функциональностькак это было в AS2.

Редактировать

  1. перейти к основной временной шкале и добавить это к своим действиям: var myGlobal: Number = 100;
  2. создайте новый мувиклип, убедитесь, что он находится на сцене
  3. перейдите в новый мувиклип и добавьте его в свои действия:

    var global: MovieClip = MovieClip (root);trace (global.myGlobal);

  4. протестируйте свой фильм

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