Различия между кодом временной шкалы и кодом класса документа
Я пытаюсь объяснить разницу между написанием кода временной шкалы и кода класса документа, пока у меня есть:
Timeline code:
- doesn't require a package and class declaration
Document Class code:
- requires a package and class declaration
Timeline code:
- starts working on the top-most line
Document Class Code:
- starts working from the constructor function
Timeline code:
- loops, conditionals and event listeners can be **outside** of a function
Document Class Code:
- loops, conditionals and event listeners must be **inside** a function
Правильны ли они, и есть ли что-то еще, что могло бы сбить людей с толку переходом?
2 ответа
Код временной шкалы является старым и не рекомендуется, так как это не структурированный способ кодирования. еще,
Код временной шкалы: - нельзя определять модификатор контроля доступа к функциям или переменным, по умолчанию все общедоступно (насколько я знаю)
Код класса документа: - вы можете определить модификатор контроля доступа
Код временной шкалы: - код запускается каждый раз, когда элемент управления попадает в этот кадр
Код класса документа: - класс документа инициализируется только один раз
Код временной шкалы: - время жизни переменной - только когда элемент управления находится в этом кадре
Код класса документа: - Переменные-члены остаются в силе, пока приложение не завершится.
РЕДАКТИРОВАТЬ
Код временной шкалы : - То же, что и код, записанный в событии ENTER_FRAME в классе документа.
Код класса документа: - Может достигнуть функциональности кода кадра, используя событие ENTER_FRAME.
При написании кода в файле Class, человек, которого вы обучаете, может испытывать желание написать код, который выглядит следующим образом:
gotoAndStop(2);
movieclipOnFrame2_mc.stop(); // <-- uh oh...
Это, конечно, сбивает их с толку, потому что они ожидают, что активы, существующие в кадре 2, будут доступны сразу после вызова gotoAndStop(2), особенно если они пришли из фона AS2. Им нужно будет научиться справляться с этим странным поведением.