안녕하세요.

이 블로그의 주인, 우야꼬입니다.

요즘 많은분들이 ActionScript 3.0 에 대해서

피부로 느끼고 계신분들이 많이 보이네요^^

실제로 공부한지 꽤 되신분들도 계신것 같고

이제 막 시작하고 계신분들도 계시고

현업이 너무 바빠서 트렌드는 알지만 따라가지 못하는거 같아 조바심 느끼시는 분들까지.

물론 이미 현업에서 훌륭하게 사용하고 계신분들도 많습니다.

저 역시도 3.0 으로만 작업한지 꽤 오래된거 같네요.



플생이나 메신져로 공부하시는 분들에게

도움이 되는 몇가지를 말씀드려보고자 합니다.

우선, ActionScript 3.0 은 더 이상 "알아서" 해주는 언어가 아닙니다.

2.0 때는 getURL 만 해주면 다 됐고

duplicateMovieClip() 만 하면 다 됐었죠.

하긴 지금 생각해도 편하긴 편한거 같습니다.

하지만 ActionScript 3.0 은 플래시가 알아서 해주는 부분은

거의 우리가 손을 대선 안될 부분까지

최소화 되었습니다.

실제로 getURL 에는 굉장히 많은 동작이 일어납니다.

http request 를 만들어서 서버측에 보내고

돌려주는 응답신호를 받아서

브라우져를 띄워 그 돌려진 컨텐츠를 띄우지요.

사실 말로해서 이정도지 굉장히 많은 기능들이 숨어 있습니다.

이런 부분들을 이제 우리가 직접 모두 컨트롤 할 수 있게 되었습니다.

그게 ActionScript 3.0 에서 가장 혼란스러운 부분일지도 모르겠네요.

이제 그런 부분을 직접 만들어줘야지만

정상적으로 동작하게 되죠.

즉, 할일이 많아졌습니다.

또 다른 말로는

부지런해져야되며,

절차와 기능을 정확하게 알아야되며,

어떻게 쓸 것인지 명확하게 인지하고 있어야 됩니다.

그래야지만 ActionScript 3.0 의 본질을 충분히 활용한다고 볼 수 있습니다.

이제는 플래시가 "알아서" 해주지 않습니다.


두번째는 기본에 충실해야합니다.

각 숫자 타입과 클래스들이 어떤 역할을 하는 클래스인지

잘 알고 있어야 합니다.

물론 그러기에는 참 시간낭비가 많게 느껴질겁니다.

Sprite 나 MovieClip 이나 거기서 거긴데

걍 손에 익은 MovieClip 쓰면 어때...

라고 생각할지도 모르겠지만

Sprite 와 MovieClip 의 차이를 알고 모르고의 차이는

개발자와 디자이너의 차이처럼

형언하기 힘들정도의 차이입니다.

메모리는 고작해야 1k 정도 차이나겠고

시간차이도 머 거의 눈에 보이지도 않는데 무슨 상관있겠어.

라고 생각한다면 여러분은 앞으로

개발자로 살아가는 데 있어서 적게는 5년 길게는 10년의

시간을 낭비하게 될겁니다.

왜냐구요?

효율과 메모리에 대해서 알고 있지 않다면

성능좋은 어플리케이션을 만들 수 없다는 이야기고

화려한 게임을 만들 수 없다는 이야기고

여러분이 만드는 게임이나 어플리케이션은

프로젝트가 큰 프로젝트일수록, 스케일이 큰 게임일수록

훨씬 더 느릴것이고, 훨씬 더 용량이 클것이며

그로인해서 유저들은 멀리할것이고

여러분이 참여한 프로젝트는 칭찬받지 못할것입니다.



물론 지나치게 극단적인 표현이지만

그렇다고 전혀 틀린말도 아닙니다.

요즘 한창 인터넷 뱅킹쪽에서는

무겁고 비효율적인 Flex 프로젝트들을

걷어내고 있는 추세이며

게임쪽에 도입되는 3D 기술들은

메모리 하나에 바들바들 떠는 추세입니다.

이런 추세를 따라가지 않는다면

여러분의 시간은 그만큼 낭비가 되는것이죠.


결론,

그렇다면 해야 할일도 많아졌고

공부할 것도 많아졌는데 어떻게 해야할까...?

제가 사실 드리고 싶은 말은 이것입니다.

"시간을 길게보고 천천히 느긋하게 공부하십시요"

당장 신기한 AIR 가 나오고

하루가 다르게 3D 라이브러리가 쏟아져나오고

맨날맨날 신기한 사이트들이 막 쏟아져나오니까

계속 뒤쳐지는것 같고

나만 시궁창같은 현실에서 쓸데도 없는 Document Class 가 먼지나 공부하고 앉았고...

아마 이런 생각이 드실 수도 있습니다.

하지만 지금 조바심을 내서

1분을 아끼려고 공부하는 책의 3장, 레퍼런스의 5페이지를 건너띄었다면

여러분이 지금 넘긴 그 3~5장의 내용을 알고 있었더라면

겪지 않을 시행착오 때문에 10시간, 하루, 한달을 고생할지도 모릅니다.

진정한 OOP 의 면모로 돌아온 ActionScript 3.0 은

모래성을 쌓듯이 천천히 구석구석 착실히 자기것으로 만드는 게 중요합니다.

절대 시간에 쫓기듯이

허둥지둥 대충보고 파라미터만 외우고

예제만 한번 실행시켜보고 마는게 아니라

파라미터의 의미.

메소드명이 뜻하는 역할.

클래스가 상속하고 있는 상위 클래시가 무엇인지.

이런 의문을 항상 달고 공부하시면

큰 도움이 될듯 합니다.



제가 공부하면서 들었던 궁금증들을 한번 적어봅니다.

여러분도 공감하시는게 있으신가요?

"왜 addChild 는 Sprite 가 아니라 DisplayObject 일까?"

"EventDispatcher 와 Event 는 이름이 왜 비슷하지?"

"어? addEventListener 에는 변수가 2개가 아니라 그 뒤에 3개가 더 있네? 이건 뭐지?"

"BitmapData.draw() 는 파라미터 타입이 처음보는거네? 이건 뭐지?"

"uint 는 양의 정수만 되나보네. 그럼 uint 은 0 에 1을 빼면 어떻게 될까?"

"어라 플래시에서 만든 무비클립은 이름을 안써도 에러가 안나네? 왜 안나지?"

"심볼은 linkage 로 걸면 MovieClip 으로 되는구나, 어? png 파일도 linkage 를 걸수 있나보네?"

"Document Class 는 stage 가 parent 구나. 그럼 removeChild 도 되나?"

신고
  1. Favicon of http://1indol.blogspot.com LinDol 2008.03.06 15:55 신고

    좋은 말씀 감사합니다.
    이제 입문 하는 저로서는 좋은 충고 감사합니다. ^^

  2. jine 2008.03.10 15:01 신고

    아저씨ㅋ 저(진용) 도 잘 봤어요 ^^

  3. Favicon of http://www.emologic.co.kr 봉봉이 2008.03.10 15:09 신고

    안녕하세요. 몇번 검색하다 들어온 적은 있는데
    글남기는 것은 처음이네요.
    저도 진용이 따라서 잘 받습니다.^^
    참 마음에 와닫는 말씀이십니다.

  4. 금돌이 2008.03.12 10:30 신고

    우와~~^^
    차근히 해야것네여^^

  5. Favicon of http://dreammania.tistory.com 드림매냐 2008.03.13 19:59 신고

    좋은 말씀 감사합니다^^

    역시 차근차근하는게 답인것 같아요 ㅎㅎㅎ
    그러다보니 요샌 뭐 하나 궁금해서 레퍼런스 들어갔다가 엉뚱한데 낚여서
    "우와! 이런것도 있네!"하며 파고들다 처음에 뭐하려 했는지 까먹어버리는 부작용이
    생겼어요ㅠㅠ; ㅎㅎㅎ

    그러고보니 말씀하신 '의문점' 중에 addEventListener()의 숨어있는 파라메터들이
    저도 한참 궁금하던 참이었어요^^; 얼핏 찾아보니 버블링 관련된 부분인것 같은데
    맨날 이벤트/이벤트 디스패쳐 남발하면서 그게 뭔지 공부하는건 계속 미루고
    살았답니다 ㅠㅠ

    화장실 갔다가 안닦고 나온 기분이랄까(비유가 좀..ㅠㅠ)
    뭔가 항상 찝찝했는데 오늘 이 글을 읽고보니 오늘은 꼭 집에 가서 이 부분을
    찾아 공부해봐야겠다는 각오(!)가 서네요^^

    좋은 말씀 감사합니다! 매번 우야꼬님 덕분에 공부하는데 막 용기도 생기고
    도전거리도 생기고 큰 도움 받게 되네요^^ 좋은 하루 되세요!!

  6. zzang 2008.09.23 00:30 신고

    어려워요 as3.0

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.09.23 09:06 신고

      마음이 급하셔서 그래요.
      천천히 도움말 읽어보시고 그냥 눈에 들어오는것만 공부하시다가
      더 필요한 부분이 있으면 그때 공부하시고
      3.0 공부를 한 2~3년한다는 마음으로 하세요.
      그러시면 zzang님도 모르게 기본기가 쌓여있으실거에요.

  7. Favicon of http://quadflask.tistory.com Flask 2008.09.25 16:52 신고

    으흠...지금은 2.0 을 재미나게,,편하게 공부하고 있는데...
    막상 ,3.0 으로 제작된 무비를 보니 참 멋지더군요..+_+(2.0 으로 제작된 것들도 멋지긴 하지만요, 사운드 스펙트럼이라던가, 비트맵 데이타 응용부분(?)에선 , .3.0 이 좋더군요...;;; 아니 좋아 보이더군요..;;)
    하지만 3,0 만져보려니 뭐가 뭔지는 하나도 모르겠고, 지금은 손 놓고 있어요...as3 책 살때가지만...

  8. beartyoon 2009.05.21 11:49 신고

    몸에 와닿는 이야기 너무 감사드립니다.
    지금의 제 심정을 훔쳐보기라도 하신듯 ^^
    야꼬님 AIR책도 사놓고 아직 보지도 못했다는 ㅋㅋㅋㅋ
    좀더 시간이 필요하겠네요

    우선 3.0부터 차근차근 쌓아올라 가다보면 AIR도 정복할 날이 오겠죠

  9. Favicon of http://blog.naver.com/junsa9 junsa9 2014.01.18 00:14 신고

    제 얘기 하는줄 알았습니다. ㅜㅜ
    바로 어제부터 아주 갑작스레 as3.0 으로 ui 작업을 하게 되었는데, 완전 처음 사용하다보니 마음만 급해서 이것저것 덕지덕지 붙였다 지웠다 하고 있습니다. 다시 차분하게 하나하나 봐야겠네요. 감사합니다.

+ Recent posts