가능합니까? 플래시 9 또는 플래시 10을 설치 한 사용자가 볼 수있는 주 swf를 갖고 싶습니다. 이 swf 내부에는 플래시 10이 설치된 사용자 만 별도의 모듈이로드됩니다. 이 모듈은 몇 가지 고급 플래시 10 기능을 사용합니다.Flash 10 용으로 컴파일 된 SWF로드 Flash 9 SWF
답변
물론이 내용은 설명 된대로 작동합니다. Flash 9에서 기본 SWF를 만들고 버전 확인을 수행하고 선택적으로 10으로 게시 된 다른 SWF에서로드합니다. Flash는로드 된 SWF의 버전에 관계없이 v10 SWF의 고급 기능을 렌더링합니다.
버전이 문자열로 반환되므로 반드시 parseInt
을 수행해야합니다.
내가 플래시 애플리케이션을 개발하지 않지만 음 ...이 내 2 센트 때문에 긴 시간 :
당신은 10 메인 플래시를 컴파일 할 수 있으며,이 때문에의 문제가 될 수있다 업그레이드 경고.
이 가능한 해결 방법입니다 : http://codeofdoom.com/wordpress/2009/02/09/compiling-to-flash-10-requiring-flash-9/
그 일을하는 데, 나는 그것이 플래시 버전을 감지하고 당신이 말하는 것처럼 다른 SWF 모듈을로드 쉽게 생각합니다.
Flash 10 SWF에서 Flash 10 특정 라이브러리를 사용하려고하지 않는 한이 작업이 정상적으로 작동합니다. 방금 시도한 결과 Adobe는 Flash/Flex 라이브러리 디자인 및 품질에 실망했습니다. 예를 들어
, 난 사용자의 플래시 플레이어 10 이상 인 경우, 플래시 (10) 모듈을로드 플래시 9 기본 SWF가 다음을하려고했다. 1) flash.net.NetStreamPlayOptions 2) flash.net.NetStreamPlayTransitions 3) 나는이 작업을 수행 할 때 NetStream.play2 불행하게도, Flash 런타임은 불평이 플래시 10 모듈처럼, 플래시 (10) 특정 라이브러리를 사용하여 종료 NetStreamPlayOptions, NetStreamPlayTransitions 및 NetStream.play2와 같은 것은 없습니다. 필자는 NetStreamPlayOptions 및 NetStreamPlayTransitions를 복제하여이 문제를 해결하기 위해 노력했지만, 불행하게도 NetStream 인스턴스를 Object로 캐스팅 한 경우에도 NetStream.play2를 호출 할 수 없었습니다.
Flash 9 인 기본 SWf는 Flash 9 용의 playerglobal.swc를 사용하기 때문에 이런 식으로 작동한다고 생각합니다. Flash 10 SWF를로드하면 Flash 9 playerglobal을 사용하여 여전히 끝납니다. swc Flash 10에서 환경을 초기화했기 때문에 Flash 10 SWF에서 문제가 발생합니다. 나는이 문제를 해결하는 방법을 아직 찾지 못했다.
플래시가 AS1 -> AS2 -> AS3으로 전환 할 때 왜 그것이 이전 버전과 호환되지 않았는지 이해가되었지만 이제는 AS3에서 항상 AS3을로드 할 수는 없습니다. 내 생각에 매우 실망 스럽습니다.