Что ж, больше нет _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.
Редактировать
- перейти к основной временной шкале и добавить это к своим действиям: var myGlobal: Number = 100;
- создайте новый мувиклип, убедитесь, что он находится на сцене
перейдите в новый мувиклип и добавьте его в свои действия:
var global: MovieClip = MovieClip (root);trace (global.myGlobal);
протестируйте свой фильм