2009-11-17 4 views
4

여러 FLA의 콘텐츠를 사용하는 매우 그래픽이 많은 응용 프로그램에서 작업하고 있습니다. 필자는 코더를 사용하기 때문에 Flash Builder에서 모든 코딩 작업을 수행하려고합니다. 그러나 디자이너가 stop()과 같은 몇 가지 타임 라인 액션을 계속 사용하도록하고 싶습니다. 뷰를 변경하는 몇 가지 간단한 버튼 핸들러도 있습니다. 나는이 종류의 설정을위한 최상의 워크 플로우를 찾으려고 노력했다. 나는 Embed를 사용해 보았지만, 타임 라인 코드를 제거했다. Loader를 시도했지만, 코드 완성이나 컴파일 타임 검사를하지 않았고, 현재 SWC를 사용자 정의 클래스와 함께 사용하여 내부의 요소를 서브 클래스 화했다. 지금까지 최고의 믹스 인 SWC - 코드 완성과 타임 라인 스크립트가 여전히 작동합니다. 내가 가지고있는 문제는 플래시에서 다소 복잡한 시각을 갖고 있기 때문에 라이브러리의 다른 자산에 실제 클래스를 할당하고 싶지만 SWC로 내보낼 때 클래스 연결을 유지하지 못합니다.ActionScript 3 연결된 외부 클래스가있는 SWC를 사용하는 워크 플로

예를 들어 View라는 라이브러리에 심볼이있는 FLA가 있다고 가정합니다. 나는 이것을 "com.company.view.design.ViewDesign"의 연결 클래스로 지정한다. 이보기에는 3 개의 프레임이 있으며 각 프레임에는 'content1', 'content2'및 'content3'이라는 다른 기호가 있습니다. 필자는 이러한 유사한 링크 클래스 인 "com.company.view.design.Content1"등을 제공합니다. 내 주요 코드베이스에는 com.company.view.View라는 com.company.view.design.ViewDesign 클래스가 있습니다. 이 기능은보기 기호 안에있는 모든 항목에 대한 완전한 액세스를 제공합니다.보기에는 모든 타임 라인 스크립트가 여전히 작동합니다.

문제는 이것입니다. 3 개의 콘텐츠 심볼은 실제로 복잡하고 자체 외부 클래스 (com.company.view.Content1 등)에 연결하기위한 주요 후보가 될 수 있습니다.하지만 플래시에서 그렇게하려고하면, com.company.view.View를 인스턴스화 할 때 "형식 강제 변환에 실패했습니다 : flash.display :: MovieClip @ 20bec5e1을 com.company.view.Content1로 변환 할 수 없습니다"오류가 발생합니다.

그래서 어떤 해결책이 있습니까? 또는보기에 사용하는 것과 동일한 상속 패턴을 사용하여 SWC를 더 많은 라이브러리로 간주하고 프로그래밍 방식으로보기를 작성해야합니까? 내 디자이너가 가능한 한 많은 레이아웃을 처리 할 수 ​​있기를 바랍니다. 그러나 점점 더 복잡한보기가 있기 때문에 단일보기의 모든 기능을 단일 모 놀리 식 클래스 (com.company)에 넣고 싶지는 않습니다. .view.View).

+1

플래시 빌더 (Flex Builder의 새 버전과 같음) 또는 Adobe Flash® – greggreg

+0

을 사용하고 있어도 동일한 문제가있어 귀하의 고통을 느끼고 있습니다. 이것은 부분적으로 새로운 버전의 플래시 빌더 (새롭고 덜 혼동스러운 이름)와 플래시 저작 (이번에는 cs5)에서 해결 될 것입니다. 그러나 그동안 꽤 번거 롭습니다. – grapefrukt

+0

플래시 빌더 4 베타 2를 사용하고 있습니다. @grapefrukt : 궁금한 점이 있지만 어떻게 해결 될까요? 나에게 언어/형식 문제가 거의 비슷해 보입니다. –

답변

1

당신이 말했듯이 SWC는 갈 길입니다. 꽤 비슷한 상황이 발생했다고 생각합니다. check this question을 권해드립니다. Here은 그 접근법에 관한 가짜 프로젝트입니다.

또한 개발 시간을 단축 할 수 있다면 무대 인스턴스를 선언하고이를 초기화 한 다음 클립 보드에 넣어서 연결된 클래스에 추가 할 수 있습니다. tiny extension. 처음에해야 할 일은 플래시 패널에 이름 지정 체계를 설정하는 것입니다. 그 다음에 필요한 것은 생성 버튼뿐입니다.

디자이너님께 SVN 설치가되어 주시면 감사하겠습니다. 디자이너가 SVN을 싫어합니다! Versions 또는 Cornerstone과 같은 Mac에서 이상하게 보이는 것을 사용하여 속일 수 있습니다.

Goodluck!

+0

George, 링크를 가져 주셔서 감사합니다. 전에 실제로 귀하의 게시물을 읽었으며 동일한 '공유 클래스 패스'문제가 있었기 때문에 매우 유용한 정보였습니다! 불행히도 중첩 된 사용자 정의 클래스로 연결할 수 없다는 점에서 제 문제점은 더 복잡합니다. 라이브러리의 한 심볼을 사용자 정의 클래스에 연결하고 SWC를 내보내고 기능을 얻을 수 있습니다. 그러나 해당 기호 안에 다른 기호가있는 경우, 마찬가지로 연결된 클래스가있는 사용자 정의 단추를 말하면 ActionScript에 단추가 입력되지 않습니다. 솔루션은 중첩되지 않도록 FLA를 간소화하고 스크립트에서 내 레이아웃을 조합하는 것입니다. –

+0

오, 덧붙였다, 나는 항상 내 디자이너가 SVN을 사용하는 것을 잊어 버렸다. :) –

+0

그것은 약간의 닭고기 달걀 일이다. 플래시의 클래스에 링크하고 swcs를 컴파일하면 유형 강제 변환 오류가 발생합니다. 반면에, swc에서 플래시로 기본 생성 as3 클래스를 사용하고 서브 클래스를 만들면 : 아무것도 얻지 못합니다. swc에는 서브 클래 싱 할 때 이상하게 작동하는 미리 컴파일 된 클래스가 들어 있습니다. 당신이 말했듯이, 그것을 위로 나누는 것이 앞으로의 길일 수도 있습니다. 어쩌면 각 구성 요소마다 다른 swc를 사용하고 코드를 사용하여 일부 메뉴 애니메이션을 다시 실행하십시오. Adobe는 Flex 프레임 워크를 주로 사용할 때 플래시와의 통합을 고려한 것으로 보입니다 (기본 사항은 무엇입니까? –

0

com.company.view.Content1 클래스가 MovieClip을 확장합니까? 그렇지 않은 경우 스테이지에 추가 할 수 없으며 Flash에서 오류를 발생시킵니다.

0

런타임에 클립을로드 할 때 모든 클래스 정보가 손실됩니다. 그것이 당신의 문제의 뿌리입니다. 그런 경우에는 다음을 사용했습니다. technique. 이 기술은 동영상을로드하고 클래스 정보를 재구성하는 데 도움이됩니다. Grant Skinner는 얼마전이 내용을 자세히 설명했으며,이 기사에서는 Flex에 대해 언급했지만 순수한 플래시 응용 프로그램에도 유용합니다.

관련 문제