[태그:] ActionScript 3.0

  • Retrieving the URL.

    플래시 무비에서 해당 SWF 파일을 포함하는 HTML 문서의 URL을 구하려면, HTML 문서에서 설정을 해주어야 합니다. FlashVars 파라메터 또는 자바스크립트를 통해서 플래시 무비로 URL을 전달해 줘야 하죠. 그런데 플래시의 ExternalInterface API와 자바스크립트의 eval() 함수를 이용하면, 그럴 필요가 없습니다.
    To retrieve the HTML document’s URL in which the SWF file is inserted, you have to modify the HTML document. Pass the URL to the SWF movie via an FlashVars parameter or a JavaScript function. But, the ExternalInterface API in Flash and eval() function in JavaScript provide you with a more simple solution.
    SWFファイルが含まれているHTMLドキュメントのURLを得るためには、そのHTMLファイルに何か設定をしなければならない。FlashVarsパラメタとかJavaScriptを使ってフラッシュムービーにURLを伝達します。でも、フラッシュのExternalInterface APIと共にJavaScriptのeval()函数を使用すると、その必要はないんです。

    var btn:Button;
    for(var i:uint=1; i<=3; i++){
    	btn = this["b" + i];
    	btn.addEventListener(MouseEvent.CLICK, clickListener);
    }
    
    function clickListener(e:MouseEvent):void{
    	btn = e.currentTarget as Button;
    	var str:String = ExternalInterface.call("eval", btn.label);
    	tf.text = str;
    }

    Related link: http://wooyaggo.tistory.com/163

  • CJmall, 셀프기획전 배너제작 툴

    CJmall 리뉴얼에 포함되어 같이 진행되었던, 셀프기획전 배너제작 툴의 작업을 완료했습니다. 그동안 많이 다루어 왔던 JPEG 인코더를 사용한 프로젝트로, MD들이 포토샵과같은 전문적인 프로그램을 사용하지 않고도 손쉽고 빠르게 배너를 제작할 수 있도록 기획되었습니다.
    중간에 기획을 변경하어, 더 많은 기능을 추가하려고 했으나, 일정상 현재 버전으로 개발되었네요.


  • Using “setTimeout()” in a custom class.

    ActionScript 2.0을 사용할 때, 플래시 8에서 추가된 setTimeout() 메소드를 사용하면 편리하지만, 클래스에서 setTimeout()를 사용하면 다음과 같이 에러가 발생합니다.

    There is no method with the name ‘setTimeout’.

    그래서 setTimeout() 대신 setInterval() 메소드를 사용하는 경우가 생기죠. 그럴 필요 없이 $(LocalData)/Classes/toplevel.as 파일을 수정하면 이 문제가 말끔히 해결됩니다.
    이 파일을 열어서 다음 2줄을 추가하고, 저장합니다. 그리고 플래시를 재시작하면 클래스에서도 setTimeout() 메소드를 문제없이 사용할 수 있습니다.

    intrinsic function clearTimeout(id:Number):Void;
    intrinsic function setTimeout():Number;

    ActionScript 3.0의 경우라면 다음과 같이 utils 패키지의 메소드들을 임포트 해주면 됩니다.

    import	flash.utils.setTimeout;
    import	flash.utils.clearTimeout;
  • [펌] Reasons to use ActionScript 3.0

    왜 액션스크립트 3.0을 사용해야 하는지에 대한 6가지 이유를 정리한 것입니다. 이 정도면 ActionScript 3.0을 공부하기에 충분하지 않나요?

    1. Your skills will be in high demand
      내 생각으로 이것은 현재 Flash developer 로 일하고 있던 일할 계획을 가지고 있던 새로운 언어를 배워야 하는 주된 이유이다. 대부분의 커다란 Flash 일들은 Actionscript3.0 으로 제작되고 있다. 앞으로 Actionscript2.0 기술을 요구하는 일들은 점점 작아질것이므로 당신이 Flash 로 일을 할 계획을 가지고 있다면 Actionscript3.0 은 필수다.
    2. Everything you build will be faster
      Flash 개발자들은 새롭게 낸 아이디어나, 정말 기발한 생각으로 만들어진 컨텐츠들이 Flash player 에 한계에 부딛히는걸 보며 좌절을 느껴왔다. Actionscript3.0 은 이전 언어의(Actionscript2.0) 10배 이상의 퍼포먼스를 제공한다. 이 의미는 Stage 위에 더 많은 객체들을 동시에 조절할 수 있다는 것을 의미 한다. 만약 당신의 프로젝트를 부드럽게, 보기 좋은 퍼포먼스를 내기를 원한다면 Actionscript3.0 이 그것을 도와줄 것이다.
    3. There’s an abundance of new APIs
      Flash 개발자로서 새로운 장난감( Class package 를 묘사한것 같다. ) 을 자신의 프로젝트에 통합 하는 것 만큼 즐거운 일은 없을것이다. Actionscript3.0 은 XML, 정규식, binary sockets 와 같은 100가지의 새로운 APIs 를 포함하고 있다. 더 대단한 것은 Actionscript 의 모든 부분이 새로운 언어의 특징에 맞게 찾아 쓰기 편하도록 package 별로 namespaces 별로 나눠져 있다는 것이다. 당신은 Actionscript3.0 을 사용할때 Flash toolbox 가 더이상 가득 차 있어서 찾기 불편한것이 아닌, 잘 정리되어 있는것을 볼 수 있을것이다.
    4. The display list rocks
      Actionscript3.0 에서는 Flash 가 visual object(DisplayObject)를 처리 하는 방법이 달라졌다. ( 이전 버젼과 가장 큰 차이점 ) 이전 버젼의 언어에서는, Flash movie 에서 객체들의 display order(depth) 를 조절하기위해 black art 를 사용하였다. 이 언어를 배우기 시작하는 사람들은 이해 할수 없는 많은 꼼수와 대안이 존재 한다. 예를 들어 이것은 보통 가장 깊은 곳에 있는 visual object 들을 어떤 무엇보다 가장 높은 곳에 위치시키기 위해 사용된다. 이것은 큰 단위 프로젝트시 많은 문제를 일으키고 depth 를 조절하는 메뉴얼을 필요로 한다. Actionscript3.0 에서 visual object 를 조작하는 새로운 규율은 이러한 객체들을 rendering 하는데 간단한 메카니즘으로 되어 있다. 한번 Actionscript3.0 을 사용하기 시작하면 다시는 3.0 없이는 작업을 못할 것이다. ( depth를 조절 하는 방법이라든지 규칙(내부적으로)이 변하였다는 것을 말하고 있다. )
    5. The object-oriented structure is better
      개발자들은 특히 Actionscript3.0 의 object-oriented structure 에 만족하고 있다. 3.0은 runtime typing, class, package, namespace 그리고 정밀하게 이루어져 있는 이벤트 모델을 포함하고 있다. Actionscript3.0 을 프로그래밍 하는 것은 Java 나 C# 과 같은 high-level 언어로 프로그래밍 하는 것과 같은 수준이다. Actionscript3.0 의 새로운 기능들은 당신의 코드를 보다 단단하게, 가독성 있게 그리고 확장 가능하게 만들어 준다. 만약 당신이 interactive designer 라면 이 기능들은 많이 사용하지 않을지도 모른다. 하지만 당신이 프로그램능력의 향상을 원할때 이 언어의 구조는 당신을 지원해 줄것이다.
    6. It’s more enjoyable to work with ActionScript 3.0
      지금 까지 언급한 모든 내용을 읽고도 여전히 Actionscript3.0 을 배울 마음이 안생긴다면 그냥 Actionscript2.0 으로 프로젝트를 진행하기를 바란다. 그러나 Flash platform 이 진화하고 앞으로 나올 새로운 기술들은 모두 Actionscript 3.0이 사용될 것이다. 예를들어 Flex 3 이나 Adobe AIR 는 Actionscript3.0 을 필요로 한다. 그리고 만약 당신이 이러한 기술들을 이용한 작업을 원한다면 Actionscript3.0을 사용하는 것 외에는 선택의 여지가 없을 것이다.

    Quote from Action-Scripter | Seonggyu Gang & 동강 :: 네이버 블로그
    Adobe – Developer Center : Six reasons to use ActionScript 3.0

    Sorry, English translation is not available on this post.
    ごめんなさい。このポストには日本語の翻訳を提供しません。
  • Tworld, Menu Style UP open.

    작년부터 시작해서 1년 가까이 진행해온 Tworld의 휴대전화 메뉴 꾸미기, 메뉴 스타일 UP이 오픈했습니다. 이전에 개발했던 싸이월드의 아이쿠킹이나 편집스킨과 비슷한 맥락의 어플리케이션으로, 휴대전화의 메뉴를 사용자가 마음대로 꾸밀 수 있도록 한 서비스 입니다.

    Tworld 홈페이지의 폰메뉴 만들기 어플리케이션에서 자유롭게 메뉴를 꾸밀 수 있고, CP 업체에서 제공한 메뉴를 다운로드 하거나, 편집할 수도 있습니다.

    오랜 기간동안 개발하면서 많이 고생하신 SKT, 어도비, ALOX 외에도 많은 업체의 관계자 분들이 있어서 무사히 서비스를 오픈할 수 있었습니다.