2009-12-14 2 views
1

호기심에 힘 입어 Flex 응용 프로그램에서 사용되는 수명주기를 이해하려고합니다.Flex 응용 프로그램 및 프레임 이해

그래서이 논점에 대해 조금 연구했습니다. FlashPlayer에 사용되는 두 가지 주요 개념은 다음과 같습니다

  • SWF 프레임 : 그것은 그래픽 코드가 들어있는 논리 단위의 코드로
  • 플래시 플레이어 프레임 :이 화면을 업데이트 플래시 런타임에 의해 사용되는 시간 간격이고 frameRate 속성에 의해 정의 됨

그렇다면이 두 개념 사이의 관계를 설명해 주시겠습니까? 특히, 그들은 togheter 또는 짝을 이루고 있습니까?

주요 규칙은 다음과 같습니다. Flash Player에서 SWF를 스트리밍합니다. 전체 SWF 프레임을 읽을 때까지 Flash Player에서 렌더링 할 수 없습니다.

나는 내가 이해할 필요가있는 것을 설명하려고 노력할 것이다. 단순화를 위해 SWF FR 1 및 SWF FR 2 프레임 응용 프로그램이 있다고 가정하십시오.

일반적으로 (예 : CS4에서) 프레임은 (ShowFrame 태그로 구분 된) 논리 단위로 간주됩니다. as3 코드를 첨부 할 수 있습니다. 이 SWF 파일의 단순화 된 버전으로, 내가 생각 :

  • 헤더 // 프레임 율, 클래스 ... //이 FR1 === ShowFrame
  • 기호입니다 등 정의된다 ===
  • 두 개의 프레임, FR1과 FR2이있는 경우 기호, 클래스 등 ... //이 플래시 FR1을 실행을 시작하고 다음 (FR2)로 이동, FR2 === ShowFrame === 끝

입니다. 발화를 멈추지 않으면 플레이어는 무한 루프를 통해 FR1과 FR2에 포함 된 코드를 실행하고 다시 실행합니다. 반대로 실행을 중지하면 (예 : FR2) 플래시 플레이어는 FR2에 포함 된 코드를 실행합니다.

그래서 SWF 프레임 당 여러 번 Flash Player 프레임을 사용할 수 있습니까?

FR1을 다운로드 할 때 (FR1이 완전히로드되지 않은 경우) 모든 enterFrame 이벤트가 있습니까? FR1이 완전히로드되면 첫 번째 frameEvent가 발생합니까? FR1은 어느 기간 동안 렌더링됩니까? 또 다른 시나리오로 FR1에 stop 명령을 호출 한 경우 지정한 속도로 enterFrame이 표시됩니다 (현재 프레임은 FR1 임). 한편 FR2는 다운로드 중입니다. 끝나면 다음 프레임 (FR2)으로 이동합니다. FR2는 어느 기간 동안 렌더링됩니까? Flash Player에서 FR2를 다음 번 간격으로 렌더링하려고합니까?계정

테이크이 간단한 순서 :

  1. FR1는
  2. FR1을 다운로드 완전히 다운로드
  3. FR1 완전히
  4. 을 다운로드 한편 FR2는
  5. FR2을 다운로드 정지() 메서드를 호출
  6. FR2로 이동
  7. FR2는 stop() 메소드를 호출합니다.
  8. 등등

Flash Player의 enterFrame 이벤트가 발생할 때 나를 강조 할 수 있습니까?

감사합니다. 안부, Flex_ 추가.

답변

0

분명히 사물을 들여다 본 것처럼 보이지만 일부 가정은 올바르지 않습니다. 플렉스는 하나의 예쁜 프레임 워크에 작성된 플래시 코드입니다. 따라서 모든 것은 실행중인 코드와 실행중인 코드의 결과가 혼합 된 프레임으로 이어집니다. 필요한 모든 코드가 실행되고 렌더링 프로세스가 완료되면 프레임이 완료되고 플래시 플레이어가 다음 프레임으로 이동합니다.

그렇다면 enterFrame이 호출됩니다.

이제는 Flex 개발자로서 enterFrame 이벤트를 수신하는 것이 일반적이지 않습니다.

Flex 애플리케이션을 이해하려면 Flash 응용 프로그램이라고 생각하면됩니다. 첫 번째 프레임은 로딩 프레임이고 두 번째 프레임은 앱입니다. 프레임의 나머지 부분을 구성하는 부분과 개별 타임 라인입니다. 이 개념은 사람들을 확실히 혼란스럽게 만듭니다. 그 이유는 enterFrame이 두 번만 호출되어야한다고 생각하기 때문입니다.

많은 사람들이 가지고있는 잘못된 잘못된 가정은 "코드가 실행되고 있지 않음"으로 프레임이 여전히 호출되지 않고 있다는 것입니다. 이것은 또한 사실이 아닙니다. 무언가가 변경되지 않는다고해서 프레임이 호출되지 않고 적절한 검사없이 많은 양의 처리가 일어나지 않는다는 것을 의미하지는 않습니다.

HTH

+0

답장을 보내 주셔서 감사합니다. jonbcampos !!! 이 개념을 더 자세히 설명해 주시겠습니까? 프레임이란 무엇을 의미합니까? 나는 정말로 관심이 있고 당신이 묘사 한이 메커니즘을 이해할 것이다. 다시 감사합니다. 최고 감사 및 새해 복 많이 받으러 –

+0

Flash dev 환경을 살펴본 경우 프레임은 타임 라인의 단일 지점입니다. 결국 모든 것이 하나의 큰 영화 일뿐입니다. – jonbcampos