Flex SDK가있는 임베디드 SWF 자산에서 타임 라인 스크립팅을 사용할 수 있습니까?
-
05-07-2019 - |
문제
내 클래스 정의 위 의이 구문을 사용하여 SWF를 클래스에 포함 시켰습니다.
[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip
movieclip 자산은 내 클래스와 관련이있는 것처럼 보이며, 그와 함께 인스턴스화되어 볼 수 있지만 :
- 해당 클립 내에서 무대에 배치 된 인스턴스에 액세스 할 수 없습니다.
- 타임 라인 스크립팅은 작동하지 않는 것 같습니다.
이것이 Flex SDK와 함께 컴파일 타임에 SWF 파일을 포함시키는 단점입니까? 그렇다면 타임 라인 스크립팅이나 단계에 위치한 인스턴스를 원한다면 플래시 IDE로 컴파일하는 것으로 돌아가야할까요?
해결책
Embed] 태그에 포함되면 모든 스크립트가 기호에서 벗겨집니다. 그러나 movieclip.addframescript ()를 사용하여 프레임에 스크립트를 추가 할 수 있습니다.
공개 기능 SpecialMovieclip () {
addframescript (4, myfunc)
}
개인 기능 myfunc () {
멈추다()
}
movieclip.getchildat ()로 movieclip 내부의 기호에만 액세스 할 수 있다고 생각합니다.
다른 팁
로부터 문서: ( "SWF 기호 포함"으로 스크롤)
SWF 파일에 ActionScript 코드가 포함되어 있으면 Flex가 컴파일 중에 경고를 인쇄 한 다음 Embed Symber에서 ActionScript를 제거합니다. 이것은 기호 자체 만 포함 할 수 있음을 의미합니다.
당신이하고 싶은 일에 따라, 나는 당신이 전체 SWF를 포함 시키거나 런타임에 물건을로드하는 것이 더 나을 것이라고 생각합니다.
덧붙여서, 임베디드 기호 내에서 물건에 액세스 할 수 없다는 점에 대해 대상 SWF가 AS3인지 확인 했습니까? AS2 함량을 포함 시키거나 로딩하는 경우 상호 운용성은 로컬 연결을 통해서만 허용됩니다. 이것은 링크 된 DOC 페이지에서도 다루어집니다.