Вы можете использовать статические переменные — это переменные, которые связаны с классом, а не с его экземпляром.
Предположим, ваш класс документа называется Document.as, и вы хотите, чтобы переменная playerLives была видна из любой части программы.
Объявите его внутри Document.as:
public static var playerLives:int = 3;
Затем вы можете ссылаться на это напрямую из любого места вашего кода с помощью:
Document.playerLives
(обратите внимание, что переменная является членом самого класса, а не его экземпляром).
Вы можете использовать специальный класс статики для хранения этих переменных, если хотите, чтобы ваш документ был аккуратным, или прикрепить их к соответствующим классам (например, Player.lives
)
Я не использовал временную шкалу/кадры в течение нескольких лет, но я думаю, что раньше делал это именно так!
NB Статика подойдет для ваших целей, но в некотором смысле она эквивалентна переменной _global
в AS2 (по крайней мере, ее можно использовать таким же образом) — многие не одобрят ее использование или чрезмерное использование. , так как они свободно доступны из любого места вашей программы (таким образом, анафема концепции объектно-ориентированной инкапсуляции), но лично я стараюсь не беспокоиться об этом в небольших случаях — самое важное, что нужно знать о правилах любого шаблона проектирования, — это когда их можно сломать!
Доступ к ним также немного медленнее, чем к членам экземпляра, но вы не заметите этого, если не будете постоянно обращаться к ним/изменять их (делать такие вещи, как скорость игрока, на которую нужно ссылаться/изменять каждый кадр, статической, не очень хорошо). идея).
Надеюсь это поможет.
person
MickMalone1983
schedule
29.04.2013