CODEONWORT

프레임 이름표(label)로 프레임 번호 알아내기 본문

Season 1/플래시

프레임 이름표(label)로 프레임 번호 알아내기

codeonwort 2009.10.26 23:16


열 번째 프레임에 "test"라는 프레임 이름표(label)가 있다. 어떻게 하면 이 이름표가 붙은 프레임의 번호(index)를 알아낼 수 있을까? 액션스크립트 3.0 도움말에서 MovieClip 클래스를 보면 다음 인스턴스 속성이 있다.

currentLabels : Array
[읽기 전용] 현재 장면에서 FrameLabel 객체의 배열을 반환합니다.

다음은 FrameLabel 클래스의 속성들이다.
 frame : int [읽기 전용] 해당 레이블이 속한 프레임 번호입니다.
 name : String [읽기 전용] 레이블의 이름입니다.

그래서 코드를 짜 보면

package codeonwort.utils {
 
 import flash.display.MovieClip;
 import flash.display.FrameLabel;
 
 public function getFrameIndex(mc:MovieClip, frame:Object):int {
  if(frame is uint) return uint(frame);
  else if(frame is String){
   var index:int = -1;
   for each(var label:FrameLabel in mc.currentLabels){
    if(label.name == frame) index = label.frame;
   }
   if(index == -1){
    throw new Error("주어진 레이블을 찾을 수 없습니다.");
   }else{
    return index;
   }
  }else{
   throw new Error("올바르지 않은 프레임 정보입니다.");
  }
 }
 
}


0 Comments
댓글쓰기 폼