Выполнение программы Actionscript 3.0
-
27-10-2019 - |
Вопрос
Я пробовал методом проб и ошибок, отслеживая строки, чтобы понять ход программы ActionScript (или любой аналогичный язык в целом), но безрезультатно;Я не мог этого понять, а может, потому, что не позавтракал.Пожалуйста, объясните мне, почему операторы трассировки отображаются в выводе первыми?
Вот код первого кадра
родовое словоВторой кадр:
родовое словоПоследний кадр:
родовое словоИ ВЫВОД
родовое словоЯ пытаюсь запустить событие при загрузке сцены;Он генерирует URL-адреса изображений и вставляет их в массив, а затем отслеживает его.
Для меня очень важно понимать поток, я не хочу двигаться вперед, не понимая этого.Спасибо.
Решение
Что ж, надеюсь, я смогу достаточно подробно рассказать об этом:
Ваша программа запускается, затем выполняет строку 3 , выводя результат:
родовое словоЗатем он попадает в следующий раздел:
родовое словоЗдесь важно выпустить то, что приведенный выше код фактически ничего не запускает, вместо этого он регистрирует слушателя (некоторую функцию, которую вы определили), которая будет выполняться при наступлении определенного события. Например, первая строка stage.addEventListener (Event.ENTER_FRAME, generateURLs); присоединяет прослушиватель событий, который срабатывает при входе в первый кадр и выполняет ваши generateURLs функция.
Затем программа интерпретирует строку 8 и выполняет ее:
родовое словоПосле этого вы определяете функцию generateURLs , за которой следует еще одна трассировка, которая выводит:
родовое словоПосле этого вы снова определяете некоторые функции ( showBar , hideBar ), за которыми следует другой оператор трассировки, в результате чего:
родовое словоХорошо, теперь важно выпустить здесь все, что вы сделали, это зарегистрировали несколько прослушивателей событий для прослушивания ваших событий. Однако ни одно из ваших событий еще не было запущено, поэтому вы не видели, чтобы ни один из вызовов трассировки выполнялся ни одной из ваших функций. Однако, поскольку это последняя строка в кадре 1, программа теперь запускает Event.ENTER_FRAME , которое вы зарегистрировали для прослушивания, которое, в свою очередь, вызывает вашу функцию generateURLs , что приводит к Вывод pokemon / img_XX.jpg .
Остальное говорит само за себя, если вы поняли то, что я сказал до сих пор.
Надеюсь, это поможет.