Archive for May 2010

반복구문에 대해 #2

무한루프와 타임아웃

enterFrame을 사용하는 이유는 뭘까요? 여러 가지 상황이 주어집니다만 제 생각엔 enterFrame을 사용할 수 밖에 없기 때문에 사용한다가 정답인 듯합니다.

  1. 농담이 아니라 as3는 while( true ); 와 같은 무한 루프가 불가능하기 때문에 연속적인 행위를 기술하기 위해서는 enterFrame을 사용할 수 밖에 없습니다.
  2. 또한 반복이 순식간에 일어나지 않고 지연시켜가며 일정한 주기로 일어나길 바란다면 시간타이밍 제어와 함께 루프를 돌아야 하기 때문에 enterFrame을 쓰게 되죠.

다른 시스템언어에서는 무한루프를 허용하므로 아래와 같은 방식으로 구현할 수 있습니다.

while( true ){
	//할일
	sleep( 50 ); //50ms 멈춰있는다.
}

여튼 문제는 enterFrame을 쓰는 게 아니라 enterFrame을 쓰기 위해 쓸데없는 DisplayObject를 만들어야 한다는 점입니다. 그래서 Shape나 Sprite 도움 없이 간단히 루프를 돌기 위해 사용할 수 있는 방법을 강구해볼 필요가 있습니다. 여기 arguments.callee와 setTimeout을 이용하는 간단한 방법이 있습니다.

Continue reading ‘반복구문에 대해 #2’ »

2010年 Coding Rule 1.0

Class Prefix

  • package : BS 로 시작한다. – BSdisplay, BSmedia
  • class : C 로 시작한다. – Ctest, Crole
  • static전용 class : CS 로 시작한다. – CStext, CSmath
  • 추상 class : CV 로 시작한다. – CVcontainer, CVgraphics
  • 인자 class : $로 시작한다. – $tween, $text
  • 데이터 class : D로 시작한다. – Dtext, Dtween

Continue reading ‘2010年 Coding Rule 1.0’ »

다이버스터 편집자.

이경빈, 허남진, 웹눈

아무것도 없는 이 행사에 관심을 가져주신 모든 분들께 다시 한 번 진심으로 고맙습니다!

P.S 웹눈님께는 웹눈님 방명록에 비밀댓글로 무언가 남겼습니다.

객체타입을 알아내는 법

as3에서 기본적으로 타입을 알아내는 방법은 두 가지입니다.

첫번째는 typeof 연산자로 자바스크립트의 typeof와는 약간 다른 형식으로 쓰이는데 object, boolean, function, number, string, xml 의 6가지 타입으로 문자열을 반환해줍니다. 하지만 이 정도로는 너무 포괄적인 형만 반환하기 때문에 as3에서는 is 연산자를 도입했습니다.

is연산자는 객체의 상속관계 및 구상관계를 파악하여 true, false를 반환합니다.

위의 두 가지로 타입을 거의 파악할 수 있을 것 같지만 사실은 전혀 그렇지 않습니다. 특히 is의 경우 상속체인에 걸쳐 전부 true를 반환하기 때문에 자식이 아닌 상속되기 전 상태의 부모인지를 확인해낼 방법이 없습니다. 예를 들어 MovieClip의 경우 Sprite로부터 상속되어 만들어지는데 if( mc is Sprite ) 라고 하면 mc가 MovieClip일 때도 통과되고 Sprite일 때도 통과됩니다. 만약 이때 Sprite인 경우만 통과시키고 싶다면 어떻게 해야 할까요?

Continue reading ‘객체타입을 알아내는 법’ »

다이버스터 편집자 모집 – 완료

성원해주신 모든 분들께 고맙습니다. 마감했습니다!

Continue reading ‘다이버스터 편집자 모집 – 완료’ »