Вопрос

Принимая во внимание любопытство, я пытаюсь понять жизненный цикл, используемый приложением Flex.

Итак, я провел небольшое исследование этого аргумента; Две ключевые понятия, используемые в FlashPlayer:

  • Frame SWF: это логический блок, который содержит графический код и как код
  • Flash Player Frame: это временный интервал, используемый во время выполнения Flash для обновления экрана и определяется свойством кадров.

Если так, не могли бы вы объяснить мне отношения в связи с этими двумя концепциями? В частности, они в паре или нет?

Основное правило: Flash Player течет в SWF; До тех пор, пока не будет прочитана полная рама SWF, флэш -игрок не может его отображать.

Я постараюсь объяснить, что мне нужно понять. Ради простоты, предположим, что у вас есть приложение для двух кадров: SWF FR 1 и SWF FR 2.

В целом (например, в CS4) кадр рассматривается как логическая единица (разграниченная тегом ShowFrame), где вы можете прикрепить код AS3. Это как упрощенная версия файла SWF, я думаю:

  • Заголовок // кадрирование определено здесь
  • Символы, классы и т. Д. // Это fr1 === showframe ===
  • Символы, классы и т. Д. // Это fr2 === showframe === end

Если у вас есть два кадра, FR1 и FR2, Flash начинает выполнять FR1 и переходит к следующему (FR2). Если вы не остановите вынуждение, игрок выполняет и отображает код, содержащийся в FR1 и FR2 через бесконечный цикл. Напротив, когда вы останавливаете выполнение, например, в FR2, Flash Player Player Player, выполняющий код, содержащий в FR2.

Итак, могут ли флеш -игровые кадры проходить много раз на рамку SWF?

Когда FR1 загружается (FR1 не полностью загружен), есть ли какие -либо события Enterframe или нет? Происходит ли первый фреймейз, когда FR1 полностью загружен? В какой период времени отображается FR1? Другой сценарий, если вы позвонили в команду Stop в FR1, вы получите Enterframe со скоростью, которую вы указали (текущий кадр - FR1). Тем временем FR2 загружается. Когда он закончится, вы идете к следующему кадру (FR2). В какой период времени отображается FR2? Пытается ли Flash Player представить FR2 в свой интервал в следующий раз?

Примите во внимание эту простую последовательность:

  1. FR1 загружается
  2. FR1 полностью загружен
  3. Метод вызовов FR1 STOP (), тем временем, FR2 загружается
  4. FR2 полностью загружен
  5. Перейти к FR2
  6. Метод вызовов FR2 STOP ()
  7. И так далее

Не могли бы вы подчеркнуть для меня, когда проходят события Enterframe Flash Player?

Спасибо за ваше время. С уважением, flex_addicted.

Это было полезно?

Решение

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

Итак, ваш Enterframe называется.

Теперь это не типично, как разработчик Flex, чтобы слушать событие Enterframe.

Чтобы понять приложения Flex, вам просто нужно подумать, что они являются приложениями Flash, причем первое кадр является загруженным кадром, а вторым является приложение. Именно подразделы и их отдельные сроки составляют все остальные рамки. Эта концепция определенно сбивает с толку людей, потому что тогда они считают, что Enterframe следует вызывать только дважды, это не так.

Следующее неправильное предположение, которое есть у многих людей, заключается в том, что «код не выполняет», что кадры все еще не вызываются. Это также не так. То, что что -то не меняется, не означает, что кадры не вызываются и - без соответствующих проверок - большие объемы обработки не происходят.

Hth

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top