[질문] 액션스크립트 1.0 방식과 2.0 방식의 괴리?
레오
제가 자바를 계속 공부하다가, 플래시 강좌를 우연히 중간과정부터 듣게되었습니다 ^^;그런데, 툴을 8.0 으로 쓰더라구요... 뭐,, 아무튼 이 8.0 버젼이
액션스크립트 1.0 과 2.0 을 혼용해서 쓸 수 있도록 해주다 보니, 약간의 곤란한 점이 눈에띄었습니다.
평소엔 MFC나 Java등으로 간단한 어플을 짜보다가, 플래시에선 많은 부분을 내부적으로 자동적으로 처리를
해주니(최소한 2.0 에서만큼은...) 조금 코드자체에서 난감한 부분도 있고요.아무튼 각설하고, 질문의 본지는 이렇습니다.어떤 무비클립의 네임이 mc_movie 라고 가정합시다.
onLoadProgress 라는 이벤트 안에서
mc_movie.onPress = fucntion(){
trace(Success);
}
라고 코딩을 해놓고요.
그럼 해당 무비클립을 클릭할때마다 Success 의 메시지가 나타나겠죠.
근데 이걸 2.0 방식의 콜백을 이용한 방법이 아니라,
1.0 식으로 무비클립 자체에다가 액션을 걸땐 다른방법(?!) 으로 해야만 된다는 점이
상당히 의문스럽습니다.
즉. mc_movie 라는 무비클립 자체에다가 액션을 걸땐
this.onPress = fucntion(){
trace(Fail);
}
이렇게 걸면 정상적으로 작동을 하질 않습니다.
컴파일 에러는 발생하지 않습니다만, 이벤트가 처리되지 않네요?
on(release){} 으로 코딩을 해야 되더라구요.이건 그냥 플래시 제작 툴 자체의 규칙인가요? 아니면, this 포인터를 이용해
함수를 동적할당 시킬수있지만, 방법이 약간 달라지거나 제가 잘못생각한건가요?
이 부분에 관해 설명좀 부탁드립니다.
그리고 긴 글 읽어주셔서 감사드리구요.
제 글에 관심가져주신 모든분들, 추석연휴 잘 보내시기 바랍니다!! ^^
-
사라
답변 감사합니다.
-
지은
자바같은 다른언어를 경험하셨다면 점점 권장되지 않는 방식인 on(),onClipEvent()식으로 할필요가 없겠지요. 그리고 아무리봐도 플래시를 하신다면 3.0을 하시는게 훨씬 나아보이십니다.
괜히 as가 2에서3으로 바뀐게 아니겠죠? 추석 잘보내세요~ -
파이팅
아, 그렇군요... 답변 감사합니다!!
즉, 결론을 내리자면 그것은 툴 자체의 속성이니 어찌 할 수 없다. 라고 결론내릴수 있으려나요?ㅎㅎ;
AS3.0 코드를 봤는데 오히려 2.0 보다 눈에 더 잘 들어오는거 같더라구요.
3.0을 배우고싶긴한데 아무래도 강의가 2.0 을 중심으로 하다보니 ㅠㅠ... -
지옥
콜백이라고 2.0방식인것은 아닙니다.
해당무비클립이 가지고 있는 타임라인이 아니라 직접클릭해서 한다면 on(event) 로 하게되겠죠.
이런건 아마 디자이너분들이나 일반인들이 액션을 사용하기 쉽도록 하기 위한게 아닌가 생각되네요.
물론 이리저리 비효율적이므로 콜백방식으로 하시는게 좋습니다.
그리고 자바를 하셨다면 cs3버젼의 AS3 가 훨씬 친숙하실겁니다 ㅎㅎ 거의 같아요.