자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


『ACTIONSCRIPT : Target 경로에 대해서...flash5』

 
안녕하세요. (__); 꾸벅! 오늘은 무비에서 사용되는 여러가지 인스턴스, 변수등에 대한 타겟경로에 대해서 한번 알아볼까 합니다. 쉽게 보이면서도 의외로 헷갈리는 부분이 많이 있습니다. 『ACTIONSCRIPT : Target 경로에 대해서...』 하나의 플래쉬 무비는 서로 다른 여러가지의 타임라인을 가지고 있는 경우가 있습니다. 예를 들어서, 메인 타임라인 안에 무비클립 인스턴스가 들어가 있습니다. 이때 메인 타임라인과는 서로 다른 타임라인이 무비클립 인스턴스에도 들어가 있습니다. 이들은 특정 액션을 주지 않는한 서로 독립적이어서 서로의 타임라인에 영향을 주지 않고 따로 따로 재생이 되는거지요. 하지만, 필요할 때 다른 무비클립의 타임라인을 제어해야 할 경우가 생깁니다. 이때 사용하는 것이 바로 타겟이라는 겁니다. 아래의 간단한 예를 보기로 하겠습니다. 위의 플래쉬 무비를 [다운] 받아서 보시면 아시겠지만, 메인 타임라인에 m1이라는 인스턴스 이름이 붙은 무비클립 인스턴스가 있고, 그 m1 무비클립 내에 또 다른 m2라는 인스턴스 이름이 붙은 무비클립 인스턴스가 있습니다. 그리고 m1 무비클립 인스턴스에 액션을 삽입했는데요, 그 액션은 아래와 같습니다. onClipEvent(enterFrame){ _root.m1.m2._rotation += 3; } 즉, m1 무비클립 인스턴스는 1초에 지정된 Frame Rate(무비 재생 속도)만큼 _root.m1.m2._rotation += 3; 이라는 액션을 반복하는 겁니다. _root.m1.m2._rotation += 3; 액션은 _root.m1.m2._rotation = _root.m1.m2._rotation + 3; 과 같은 액션입니다. 예제 무비를 자세히 보시면 알겠지만, 1초에 3*30(현재 무비 재생 속도는 30입니다) 그래서 90도씩을 도는 것을 보실 수 있을 겁니다. 위의 액션을 살펴보자면, m1이라는 무비클립 인스턴스에 액션을 넣어서 m2 무비클립 인스턴스의 행동을 제어했습니다. 맞져? 액션은 m1에 넣었구, 그 액션으로 인해서 1초에 90도씩 도는 것은 m2 이니깐요. 자, 이제 한번 봅시다. 액션 입력시 다른 무비클립 인스턴스를 제어하기 위해서 타겟이라는 것을 적어서 표현을 하는데요, 타겟경로는 표현하는 방법으로 절대경로와 상대경로라는 것이 있습니다. 예로 보여준 액션은 절대경로라고 합니다. 어떠한 무비클립이나 프레임에서 액션을 넣더라 하더라도 이는 제어할 무비클립 인스턴스의 위치와 상관없이 메인 타임라인부터 시작해서 제어할 무비클립의 위치를 추적해 나가는 방법이지요. 또한 상대경로라 함은 액션을 입력하는 무비클립이나 프레임에서 시작해서 상대적으로 제어할 무비클립의 위치를 추적해서 적어나가는 방법입니다. _root.m1.m2._rotation += 3; 의 액션은 아래와 같이 표현할 수도 있습니다. m2._rotation += 3; 또는 this.m2._rotation += 3; 위의 액션은 모두다 똑같이 재생이 됩니다. 하지만, 왜 서로 조금씩 다를까요? m1 무비클립 인스턴스에 액션을 넣을 때 제어해야 할 m2 무비클립 인스턴스의 타겟경로를 상대경로로 표현하느냐 아니면 절대경로로 표현하느냐의 차이입니다. 첫번째의 _root.m1.m2._rotation +=3; 의 액션은 절대경로의 표현이고, 두번째, 세번째의 m2._rotation += 3; , this.m2._rotation +=3;의 액션은 상대경로의 표현입니다. _root는 제일 처음에 나타나는 메인 타임라인을 나타냅니다. _root.m1.m2는 메인 타임라인안에 있는 m1 무비클립 인스턴스안에 있는 m2 무비클립 인스턴스를 나타내는 표현입니다. 거기에 원래의 모습으로부터의 회전각도를 줄 수 있는 속성 _rotation이 붙어서 정리하자면, m2 무비클립 인스턴스에 회전을 주는 겁니다. 두번째의 액션 표현을 보자면, 이 액션은 m1 무비클립 인스턴스에서 입력하기 때문에 m1 무비클립 인스턴스의 입장에서 보면 m2 무비클립 인스턴스의 타겟경로는 그냥 m2가 되겠지요. 그래서 그냥 m2._rotation += 3; 이라고 써도 같은 소리라는 겁니다. 세번째의 액션에서 this는 자기 자신을 가리키는 말로 즉, m1을 가리키는 겁니다. 그래서 m1 무비클립 인스턴스 안에 있는 m2 무비클립 인스턴스를 표현하기 위해서 this.m2라고 표현을 하는 겁니다. 이제 어느정도 타겟경로에 대해서 감을 잡으셨나요? 타겟에 대해서 그래도 헷갈린다? 라는 분들을 위해서 따로 타겟 경로 삽입 대화상자라는 것이 있습니다. 이는 액션창에서 오른쪽 제일 밑에 보면
이런 표시가 있는데 이걸 누르면 아래와 같은 대화상자가 뜹니다.
이곳에서 쉽게 타겟경로는 표현할 수 있지요. 하지만, 이는 타겟에 익숙치 않은 사용자들 에게 필요한 것이므로 여기서는 생략하겠습니다. 사용법은 쉽습니다. Dots는 도트(.) 표현법, Slashes는 슬래쉬(/) 표현법, 그리고 Relative는 상대경로, Absolute는 절대경로를 의미합니다. 여러 인스턴스가 나타나면(그림상으로는 하나지만) 그 인스턴스를 클릭만 해줘도 쉽게 타겟이 설정이 됩니다. 하지만, 우리는 초보적인 방법은 쓰지 않겠습니다. 많이 연습하다보면 안써도 자연스럽게 타겟경로가 금방 눈에 들어올 테니깐요. ^^; 참고로 위의 예에서는 m1 무비클립 인스턴스 안에 있는 m2 무비클립 인스턴스를 제어하지만, 만약 m2 무비클립 인스턴스에 액션을 넣어서 m1 무비클립 인스턴스를 제어해야 하는 경우 어떻게 할까요? 정답은 상위의 무비클립 인스턴스를 지칭하는 _parent를 쓰면 된답니다. 이것도 꼭 기억해 두세요. _parent._parent는 상위의 상위의 무비클립 인스턴스를 나타내는 거구요. 또, 나중에 배우시겠지만, 하나의 플래쉬 무비안에 또 다른 플래쉬 무비를 불러 오기도 하는데요. 이럴 때 플래쉬 무비안에서 액션을 넣어서 불려온 다른 플래쉬 무비내에 인스턴스를 제어할 경우 타겟을 어떻게 설정할까요? 이는 _level이라는 속성을 써서 나타냅니다. 원래 무비내에서 로드된 무비(여기서는 레벨2이라고 한다면)의 무비클립 인스턴스를 제어하고 싶다면, 타겟경로를 _level2라고 적어주면 된답니다. 그리고 나머지는 위에서 배운대로 경로를 적어주면 되지요. 이에 대해서는 앞으로 배울 것이므로 여기서는 그런게 있구나! 하는 정도를 끝마칩니다. 마지막으로 타겟경로는 무비클립 인스턴스 뿐만 아니라 변수를 표현해야 할때도 이용됩니다. 예를 들어서, _root.love4by.a 라는 액션은 메인타임라인에 있는 love4by라는 이름의 무비클립 인스턴스내에 있는 a라는 무비클립 인스턴스를 나타내기도 하지만, 메인타임라인에 있는 love4by라는 무비클립 인스턴스내에 있는 a라는 변수를 의미하기도 합니다. 또한 _parent.x 는 무비클립 계층 구조상 한단계 위에 있는 무비클립 인스턴스 x를 지칭할 수도 있고, 한단계 위에 있는 타임라인에 들어가 있는 변수 x를 지칭할 수도 있습니다. 변수인지 무비클립 인스턴스인지는 플래쉬 프로그램 자체내에서 알아서 판단을 해준답니다. 그러니 별 걱정은 마시고, 타겟경로만 제대로 적어주면 되겠죠? 오늘은 타겟경로 지정에 대해서 배워봤습니다. 밤이 늦었군요. 저는 이만 자러 가야겠네요. 모두들 빠2~ ( '')/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 본 게시물은 //xen.new21.org, //cafe.daum.net/macromedia, //www.bcpark.net 외의 이동/불펌을 금지합니다. 더 많은 자료는 사이트나 카페를 찾아주세요...^^* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2004-06-20 22:11:47
3162 번 읽음
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그