Search Results for 'ActionScript 3.0'


43 POSTS

  1. 2008/08/19 [AS3] Flash에서 Javascript 변수 가져오기 (without Javascript) (13)
  2. 2008/07/31 IE 를 떠날 수 있게 만든 FireFox 플러그인 모음 (11)
  3. 2008/07/30 [AS3] Integer.reverseBytes() of Java. (4)
  4. 2008/06/20 TagCloud 를 만들어 봤습니다. (12)
  5. 2008/06/02 [AS3] int, uint, Number 표현의 한계 (6)
  6. 2008/05/28 [AS3] Background Fading (10)
  7. 2008/05/21 [AS3] Label 활용하기!! (15)
  8. 2008/05/20 [AS3] 우야꼬의 팁팁팁~ (25)
  9. 2008/05/07 [AS3] Browser History 연동 Flash (6)
  10. 2008/05/02 [Away3D] 와 3D 엔진 대단하네요. (8)
  11. 2008/04/23 [AS3] ReflectingBitmapData 일반이미지를 비치는 이미지로~ (14)
  12. 2008/03/10 [AS3] 공씨가 만든 SWF LAB 홍보 플래시 (6)
  13. 2008/03/10 [AS3] 포토샵 선택툴 효과 (12)
  14. 2008/03/07 [AS3] XMLLoader 클래스. (9)
  15. 2008/03/06 ActionScript 3.0 을 공부하는 분들께. (9)
  16. 2008/03/05 [AS3] 텍스트필드의 한글 입력 딜레이 현상 "해결방법" (6)
  17. 2008/03/04 System.gc() 에 대해서 시행 착오. (4)
  18. 2008/03/03 [AS3] System.gc() 테스트 2 (3)
  19. 2008/03/03 [AS3] 웹에서 System.gc() 테스트 (7)
  20. 2008/01/18 [세미나] ActionScript 3.0. What's different from AS 2.0.
  21. 2007/12/04 [AS3 강좌] ActionScript 3.0 보안 모델 기본 개념 (5)
  22. 2007/11/29 Flex3 에서 Interface 작성할때 주의~ (2)
  23. 2007/11/21 [AS3.0 강좌] AS2 하다가 AS3 공부하시는 분께 도움 되는 글 (4)
  24. 2007/11/20 [AS3 강좌] 아키텍트를 위한 Class 를 이해해보자. (4)
  25. 2007/10/29 [AS3] 간단한 확률 게임 (5)
  26. 2007/10/12 [AS3] CustomTextMotion (2)
  27. 2007/10/10 [AS3] SWC 로 폰트 가볍게 Embed 하기 (26)
  28. 2007/10/09 [AS3.0] SWC 파일로 소스 공유하기 (Flash & Flex)
  29. 2007/10/08 [AS3.0] 반복되는 소스!! 이렇게 해결하자.
  30. 2007/10/08 [AS3.0] 무비클립 자동 선언 디폴트값으로 설정하기
Flash에서 Javascript의 변수를 가져오기 위한 방법은 보통 아래와 같습니다.

// in Javascript
<script type="text/javascript">
var str = "string value";

function getStr()
{
    return str;
}
</script>

// in Flash
var str: String = ExternalInterface.call( "getStr" );

함수 일일이 만들기 귀찮죠.

아래와 같이 써봅시다.

// in Javascript
<script type="text/javascript">
var str = "string value";
</script>

// in Flash
var str: String = ExternalInterface.call( "eval", "str" );

어때요?

참 쉽죠?

그리고 이거 아세요?

숫자나 변수, 배열뿐만 아니라 Object도 전달된다는 사실?

// in Javascript
<script type="text/javascript">
var flashObject = {};
flashObject.a = "property a";
flashObject.b = 100;
flashObject.c = [ "c1", "c2", "c3" ];
</script>

// in Flash
var obj: Object = ExternalInterface.call( "eval", "flashObject" );

var prop: String;
for( prop in obj )
    trace( prop + " : " + obj[ prop ] );
/*
c : c1,c2,c3
b : 100
a : property a
*/


사용자 삽입 이미지

참 쉽죠?


이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : eval, JavaScript, 변수


추천 : ★★★★☆

현재 웹페이지의 HTML, Javascript, CSS 를 DOM 형식으로 보여주고

디버깅은 물론이고 즉시 수정해서 반영할 수 있다.

IE 에 dev-toolbar 가 있다면 FF에서는 FireBug 를 들 수 있겠습니다.



추천 : ★★☆☆☆

웹개발자분들은 브라우져 창을 엄청 많이 띄워놓는데

그럴때 유용한 툴이다.

F4 를 누르면 현재 브라우져의 모든 탭을 Gird 형식으로 보여주고

필터링해서 볼 수도 있다.

웹페이지를 여러개 띄워놓고 테스팅할때 정말 좋은 툴이 되겠다.



추천 : ★★★★★

웹페이지의 트래픽 정보, 컨텐츠 내용,

Http Status 등을 볼 수 있다.

IE 에서 HTTPWatcher 를 쓰고 있다면

FireFox 에서도 똑같이 사용할 수 있다.

장점이라면 무료라는거?

웹페이지에서 Flash 로 네트워크 통신을 디버깅할때 필수라 하겠다.



추천 : ★★★☆☆

여러 컴퓨터에서 FF 를 사용할때

북마크를 서로 Sync 시켜주는 유용한 유틸이다.



추천 : ★★★★★

IE 의 알툴바를 떠올리면 된다.

솔직히 우클릭 드래그 모션이 너무 편해서 IE 를 떠나지 못했었다.

근데 우연찮게 살펴보다가

이게 있는것을 보고 지화자를 불렀다~!!

(솔직히 알툴바보다 훨 좋다.)



추천 : ★★★☆☆

우리나라는 Active-X 때문에 IE 가 꼭 필요하다.

이 플러그인은 링크나 북마크를 우클릭으로 IE 로 페이지를 띄울 수 있게 한다.

브라우져 일일이 열기 귀찮을때 정말 유용하다.

웹서핑은 FireFox 로 하다가 IE 를 켜야할때

우클릭으로 띄우면 끗~


플러그인 검색 및 다운로드 사이트

https://addons.mozilla.org/ko/firefox





언젠가부터 IE 를 떠나고 싶었는데

알툴바, 알패스, HttpWatcher 때문에 어쩔수 없이 쓰고 있었는데

이번에 이 플러그인들을 알게 되고 나서

기본 브라우져도 바꾸고

바탕화면에서 IE 아이콘을 지웠습니다. 잇힝~

솔직히 요즘 Ajax 로 개발되는 사이트나 블로그가 정말 많은데

안정성은 말할것도 없고

구글이나 블로깅은 정말 IE와 비교해서 너무 빠릅니다.

보다 편안한 웹브라우징을 위하여~~


이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : Firefox, IE, plugins

[AS3] Integer.reverseBytes() of Java.

Posted 2008/07/30 13:52 by wooyaggo
public function reverseBytes( value: int ): int
{
     var num: int = ( ( value >>> 24 ) ) | ( ( value >> 8 ) & 0xFF00 ) | ( ( value << 8 ) & 0xFF0000 ) | ( ( value << 24 ) );
         
     return num;
}

Java 의 Integer.reverseBytes() 기능을 하는

ActionScript 3.0 버젼의 reverseBytes 입니다.


이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : 3.0, flash, reverseBytes

TagCloud 를 만들어 봤습니다.

Posted 2008/06/20 11:09 by wooyaggo


오른쪽에도 붙어있지만

TagCloud 를 한번 만들어 봤습니다.

머가 다른지 잘 모르시겠지만 ㅋㅋ

큰 태그와 작은 태그들이 서로 겹치지 않게 (빠르고 효율적으로)

이쁘게 이웃해있는 그런 태그입니다.

이쁘게 봐주셈~

조만간 위젯형태로 배포할 생각이니 기대해주삼 +_+

 
 

[AS3] int, uint, Number 표현의 한계

Posted 2008/06/02 11:58 by wooyaggo
int

10진수
최대 :  2147483647
최소 : -2147483648

지수표현
최대 :  2^31 - 1
최소 : -2^31

하드웨어 용량
최대 : 2 GB - 1 BYTE
최소 : -2 GB

시간 (sec)
최대 : 68년 35일 3시간 14분 7초
최소 : -( 68년 35일 3시간 14분 8초 )

시간 (ms)
최대 : 24일 20시간 31분 23초 647밀리세컨드
최소 : -24일 20시간 31분 23초 648밀리세컨드

uint

10진수
최대 : 4294967295 ( int.MAX_VALUE*2 + 1 )
최소 : 0.

지수표현
최대 : 2^32 - 1
최소 : 0

하드웨어 용량
최대 : 4 GB - 1 BYTE
최소 : 0 BYTE

시간 (second)
최대 : 136년 70일 6시간 28분 15초
최소 : 0초.

시간 (ms)
최대 : 49일 17시간 2분 47초 295밀리세컨드
최소 : 0밀리세컨드

Number

Number 는 지수 + 소수 로 이뤄진 표현법이기 때문에

어느 값 이상부터는 지수로 표현법이 넘어가서 주의해야 한다.

지수 표현법


이 이야기는 지수부분으로 표현이 되면

123 은 1.23e+2 으로 표현이 되어서 1을 더해도 1.24e+2 로 올바로 저장이 되지만

굉장히 큰 수 12345678901234567890 (0~9 두번 반복) 은

1.23e+19 로 표현이 되어서 1을 더한다고 하더라도

1.23e+19 로 인식이 된다.

테스트코드


가장 큰 값은 1.79e+308 (1.79 * 10^308) 이라는 어마어마한 값을 저장할 수 있다.

이는 용량으로 봤을때는 기가, 테라, 페타, 요타를 다 뛰어넘는 값까지 저장할 수 있다.

즉 굉장히 큰 수(innumerable)를 수를 다룰때는 적당하지만

디테일한 수를 비교하기에는 적합하지 않다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : as3, double precision, IEEE 754, int, Number, Tip & Tech, uint

[AS3] Background Fading

Posted 2008/05/28 11:51 by wooyaggo
Background Fading

예제 : http://www.as3.kr/etc/BackgroundFading/
큰 비트맵으로 퀄리티 높은 전환효과를 주기 위해 만들었다.

효과가 적용되는 이미지의 사이즈는 1600 x 1200 이다.

필터는 총 4개가 현재 개발되었으며 우클릭으로 변경 가능하다.

CPU 는 생각보다 많이 먹긴 하지만 연산을 최소화해주면 더 최적화도 가능할듯.

F11 을 눌러서 창을 최대화해도 FPS 는 크게 변하지 않음을 볼 수 있다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : 3.0, fading

[AS3] Label 활용하기!!

Posted 2008/05/21 13:41 by wooyaggo
1. Label 활용.

label 을 다들 생소해하셔서 좀 더 말씀드리면

일련의 행위를 묶어주는 그룹핑이라고 생각하시면 됩니다.

예를 들어 함수내의 로직이 길때

일련의 동작을 레이블{} 형식으로 묶어줄 수 있습니다.

만약


function resizeListener( e: Event ): void
{
     var stageWidth: int = this.stage.stageWidth;
     var stageHeight: int = this.stage.stageHeight;
    
     if( stageWidth < 400 )
          stageWidth = 400;
    
     if( stageHeight < 300 )
          stageHeight = 300;
    
     if( stageWidth > 800 )
          stageWidth = 800;
    
     if( stageHeight > 600 )
          stageHeight = 600;
    
     this.canvas.resize( stageWidth, stageHeight );
}

이런 함수가 있다고 가정을 해보자

4개의 if 문은 stage 의 크기가 400x300 과 800x600 이하로만 설정한다는 이야기다.

하지만 자세히 살펴보면

stage 가 400x300 이하면 아래 두개의 if 문은 동작할 필요가 없다.

이럴때 label 을 이용해서 묶어줄 수 있다.

like this~


function resizeListener( e: Event ): void
{
     var stageWidth: int = this.stage.stageWidth;
     var stageHeight: int = this.stage.stageHeight;
    
     sizeLimit:
     {
          if( stageWidth < 400 )
               stageWidth = 400;
         
          if( stageHeight < 300 )
               stageHeight = 300;
         
          if( stageWidth == 400 && stageHeight == 300 )
               break sizeLimit;
         
          if( stageWidth > 800 )
               stageWidth = 800;
         
          if( stageHeight > 600 )
               stageHeight = 600;
     }
    
     this.canvas.resize( stageWidth, stageHeight );
}

예제가 그리 썩 유용해보이지는 않지만

저런식으로 활용할 수 있다라는걸 보여준다.

즉, 최소 기준에 이미 충족이 되면

그 밑의 두 if 문은 프로세스 자체가 건너뛰기 때문에

효율적으로 로직을 관리할 수 있다.

label 은 활용하기 따라서

함수내에서 여러 복잡한 로직을 그룹핑해줄 수 있고

시각적으로도 가독성을 높여줄 수 있다.

label 은 for, while, for each 다 가능하다.

하지만 아무래도 label 이 가장 효율적인 부분은 다중 루프 구문이 아닐까 한다 ^-^)/

Tag : 3.0, as3, Tip & Tech

[AS3] 우야꼬의 팁팁팁~

Posted 2008/05/20 18:31 by wooyaggo

1. 편하게 for문 돌리기


2. child 전부 없앨때 편한 구문


3. 2중 포문 빠져나가기


4. 파라미터 갯수를 모를때 함수에 파라미터 전달하는 법


5. 빠른 나누기



Tag : 3.0, as3, Tip & Tech

[AS3] Browser History 연동 Flash

Posted 2008/05/07 23:40 by wooyaggo

Flash Browser Navigating

※ 올려진 테스트 페이지의 소스 및 디자인은 참고는 가능하지만 무단 사용시에는 법적인 제재를 받을 수 있습니다. 위 소스 및 디자인의 권한은 JC Entertainment 에 있습니다.

Frame 과 Location 객체를 이용한

Flash 의 네비게이팅을 브라우져의 주소로 지원하며

히스토리 역시 반영하는 기능입니다.

샘플 사이트 : http://www.as3.kr/FlashHistory/index.html

 - 상하좌우 메뉴 클릭시 마다 플래시는 그대로인채 주소를 각각 지원한다.
 - 뒤로가기, 앞으로 가기가 가능하다.
 - 현재 페이지의 주소를 그대로 반영한다.

각 페이지 주소 기능 테스트 : http://www.as3.kr/FlashHistory/index.html#3

 - 바로 3번째 페이지가 나타난채 열리게 된다.

ㅎㅎ 새로 만드는 웹사이트의 플래시 브라우져 네비게이팅 기능을 한번 구현해봤습니다.

웹사이트 작업을 해본지가 오래되서 살짝 걱정했는데

기존의 History 기능이랑 주소 지원기능 둘을 잘 섞어서 시도해봤는데

로직은 좀 복잡해져버렸지만 나름 이쁘게 나온거 같네요.

#으로 주소를 나타낸다는게 좀 찝찝하지만

location.href 가 바뀌게 되면 아예 페이지가 새로 로딩되게 되서

어쩔 수 없네요 ㅎㅎ

일단 불여우는 제대로 되는거 같아서 다행이네요 ㅋ

p.s) 키보드도 지원됩니다 ^0^ WASD, 방향키, Space, Enter, ESC

Tag : as3, Browser, history, navigating

[Away3D] 와 3D 엔진 대단하네요.

Posted 2008/05/02 15:49 by wooyaggo

샘플 보기


↑↑ 샘플 보기 클릭!!



회사 플젝으로 3D 를 적용할 일이 있어서

그동안 등한시 했던 3D 엔진을 다루게 됐습니당.

예전부터 눈독들이던 Away3D 를 한번 만지작해봤는데

신기할정도로 빠르네요 ㅋ

하지만 용량의 압뷁 ㄷㄷㄷ (지금 보시는게 71kb;;;)

걍 샘플~~

Tag : 3.0, as3, away3D, 플래시

사용자 삽입 이미지

ReflectingBitmapData

-_-)/~

일반 이미지를 바닥에 비치는 이미지처럼 보여주는 클래스입니다.

맨날 바닥에 비치는 이미지 만들기 귀찮아서

이번에도 솔깃한 클래스 하나 올립니다 _(_ _)_

요즘 비치는 디자인이 많은데

요놈 한번~ 잡솨봐~

아주 쉽게 비치는 이미지를 사용할 수 있습니다.

사실 저도 컴퍼넌트로 만들려다가

하다보니 이렇게 쉽게 사용할 수 있을 줄은 몰랐습니다 -0-;;

딱 라이브러리에 있는 이미지의 Base Class 만 지정해주시면 됩니다. (맨 위 이미지)


사용자 삽입 이미지

아래 1/3 정도가 투명한 png 이미지

단, 주의하실 점은 이미지 자체가 아래 비치는 영역이 비어있어야합니다. (위 이미지처럼)

그렇지 않으면 아랫쪽 1/3 이 지워지고 그 부분에 비치는 영역이 생기게 됩니다.

우리 모두 고급 개발자가 되기위하여~~

p.s) 혹시 딴지거시는 분 있을까봐 알려드려용.

바닥에 바로 비치는 부분은 주변의 반사광으로 인해서 물체가 또렷하게 비치지 않습니다.

그렇기 때문에 바닥에 바로 닿는 부분은 잘 안보이고 갈수록 보이다가 끝으로 갈 수록 안보이게 되도록 제작했습니다.

멋지죠? 그렇다면 후원금 ㄱㄱ

소스 & 샘플 다운 받기

이미지 아래로 1/3 늘려주는 Photoshop CS3 용 Action 파일

(받아서 더블클릭하면 Action 이 추가됨, png 파일 열고 액션 돌리면 되겠죠?)

소스 보기


Tag : as3, BitmapData, 비치는 이미지

[AS3] 공씨가 만든 SWF LAB 홍보 플래시

Posted 2008/03/10 15:16 by wooyaggo


이쁜 색의 라인들이 자취를 남기며 유영을 하다가

화면을 클릭하면 홍보 문구만을 남기고 라인들이 사라집니다.

현우 이녀석 아이디어 대박이네요 ㅋ

너무 이뻐서 퍼놓습니당~

넌 이너뤡띠입 드자이너야

p.s) 참고로 현우가 홍보하고자 하는 곳은 이곳입니다.

Tag : 3.0, as3, SWF Lab, 공씨

[AS3] 포토샵 선택툴 효과

Posted 2008/03/10 10:59 by wooyaggo


지금 만드는 캡쳐플그램에 쓸일이 있어서

평소 만들어보고 싶었는데

의외로 이쁘게 만들어졌네요.^^

그릴 영역을 Rectangle 클래스로 설정하고

SelectionLayer.draw( rect ); 로 동작해주시면 됩니다.

SelectionLayer.as 소스보기


사용예입니다. ( 패키지명 맞춰서 1 frame 에 붙여서 테스트하시면 됩니다. )

import com.display.SelectionLayer

var selection: SelectionLayer = new SelectionLayer();
addChild( this.selection );

var rect: Rectangle = new Rectangle( 0, 0, 200, 200 );
this.selection.draw( rect );
this.selection.x = this.selection.y = 50;


[ 소스 받기 ]


Tag : 3.0, as3, flash, selection, 선택툴, 플래시

[AS3] XMLLoader 클래스.

Posted 2008/03/07 17:48 by wooyaggo
기존의 URLLoader 의 경우

한상훈님의 말씀에 의하면

euc-kr 로 인코딩되어 있는 파일에서

4000 자가 넘는 xml 파일의 경우 파싱 에러가 난다고 합니다.

저 역시도 한글 파일의 내부 파서 오류때문에

엄청나게 고생했었습니다.

그래서 URLLoader 가 아니라

URLStream 으로 읽어들여 직접 "euc-kr" 로 읽어와서

XML 로 파싱하는 방법으로 해결하였습니다.

아래는 XMLLoader 클래스의 주요 소스입니다.

override protected function loadComplete( e: Event ): void
{
     try
     {
          this._xml = XML( this.loader.readMultiByte( this.loader.bytesAvailable, this.encode ) );
     }
     catch( e: TypeError )
     {
          this.dispatchEvent( new XMLLoaderEvent( XMLLoaderEvent.LOAD_FAIL, "parse error" ) );
          return;
     }
    
     this.dispatchEvent( new XMLLoaderEvent( XMLLoaderEvent.LOAD_COMPLETE ) );
}

위에서 보시다시피 URLStream.readMultiByte 로 직접 텍스트를 가져옵니다.

인코딩 타입은 기본으로 utf-8 로 잡혀있지만

XMLLoader.encode 라는 변수에 직접 euc-kr 또는 ascii 로 설정하실 수 있습니다.

아래는 euc-kr 로 작성된 파일을 URLLoader 와 XMLLoader 를 실험해놓은 페이지 입니다.

URLLoader : http://www.as3.kr/URLLoader/

XMLLoader : http://www.as3.kr/XMLLoader/

위 실험에서 URLLoader 는 50% 확률로 XML 이 오류가 나는 반면

XMLLoader 는 에러가 나지 않는 것을 보실 수 있습니다.



테스트에 사용된 소스와 관련 소스를 첨부합니다.

다운로드


Tag : 3.0, as3, TIP, URLLoader, XMLLoader