정교한 작업을위한 JSFL 스크립트를 작성하는 것이 편한 경우 Flash DOM 트리를 탐색하고 FriendsofEd의 "Extending Flash MX 2004"사본을 가져 오거나 적어도 JSFL 참고서 미리보기 PDF : http://www.friendsofed.com/books/1590593049/3049_Ref.pdf. 구식이지만 개념, 속성 및 메서드가 크게 변경되지는 않았습니다. 일부 새로운 기능을 제외하고는 분명히 TLF 텍스트 필드 중 하나입니다.
특정 필요에 따라 다음을 스캔해야합니다.
- 메인 타임 라인;
- 타임 라인이있는 기본 타임 라인의 인스턴스 (MovieClip, Buttons, Graphics).
- 라이브러리 심볼의 타임 라인.
- 도서관 기호 자녀의 타임 라인 (즉, 이미 이전 단계 방식으로이 일을하고 있기 때문에 중복 될 수도 있지만,
먼저가있어, 요소를 현재 문서의 타임 라인을 스캔하려면 좋은 생각과 같이, 현재 타임 라인의 참조를 저장하기 :
var doc = fl.getDocumentDOM();
var tl = doc.getTimeline();
참고 : 이것은 "현재 위치에서 편집"의 기호가 될 것인지 (현재 표시된 타임 라인의 기준을 사로 잡고주의하십시오 모드, 다른 장면 등이 스크립트를 실행하여 "메인 타임 라인"언제를 선택하도록하려면, 나는 다음 그것을 잡아 것으로 예상 :
var tl = doc.timelines[0]; //Grabs the Main Timeline
참고 : 내가 틀렸다면 위의 내용을 수정하십시오!
프로젝트에 다른 키 프레임에 TextField가 있는지 또는 단일 프레임 타임 라인에 있는지 여부를 확실히 모르는 경우 타임 라인의 각 프레임을 스캔하여 TextField 인스턴스가 있는지 확인하는 것이 좋습니다.
이렇게하려면 인스턴스 또는 JSFL 용어 "요소"에서 Timeline 객체에서 직접 검색 할 수 없다는 점에 유의해야합니다. 거기에 가기 위해서는 좀 더 깊이 파야합니다!
기본적으로이 경로를 통과해야합니다
- 현재
Timeline
을;
- 그
Timeline
의 레이어;
- 각
Layer
오브젝트의 프레임;
- 각
Frame
개체의 요소이면,
TextField
인스턴스인지 여부를 확인하십시오.
일단 해당 TextField를 찾으면 TLF 텍스트 필드로 "변환"해야합니다. 변환, 의미 ... 새 TLF 텍스트 필드 만들기, 기존 TextField 객체의 재사용 가능한 모든 속성 전달, 기존 TextField가있는 동일한 인덱스 (z 깊이)에 TLF 텍스트 필드 배치 및 삭제. 필요에 따라 아랍어 글꼴 지원에 필요한 모든 Embedding 및/또는 TLF 속성을 설정할 수 있습니다.
이 변환 프로세스를 수행하는 방법에 대한 자세한 내용을 살펴 보지 않고도 하나의 타임 라인 만 스캔하는 것은 어려운 임무임을 알 수 있습니다. 불가능하지는 않지만 간단히 몇 단계.
다른 필수 스캔 (다른 일정, 라이브러리 심볼 등)에서 재사용 할 수 있도록 필요한 단계를 캡슐화하기 위해 신중하게 JSFL 함수를 만들면이 작업의 복잡성이 크게 줄어 듭니다. 당신을 도와줍니다
희망 (이 같이 즉시 해독제 아니더라도는 "여기 대답이야,이 걸릴 ..."!)
이 런타임에 발생하는 것이 필수 그것을인가? 또는 컴파일하기 전에 이러한 변경을 자동화하는 제작 시간 (Flash IDE) 스크립트를 사용할 수 있습니까? – bigp
필수 사항은 아닙니다. 나는 당신이 어떻게 저작 시간 스크립트를 만들지 몰라요? 우리는 Flash CS5.5를 사용하고 있습니다. – Rich
제작 시간 스크립트는 JSFL입니다 (이 경우에는 (Flash IDE JavaScript 언어) ...이 부분을 살펴 보도록하겠습니다. – bigp