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 이 가장 효율적인 부분은 다중 루프 구문이 아닐까 한다 ^-^)/

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 버드리 2008.05.21 16:33 신고

    이것도 새롭네요^^
    이걸 이용하면 좀 더 최적화가 가능하겠네요^^

  2. 케이 2008.05.21 17:28 신고

    실행중인 함수를 멈출땐...
    retrun 시켜버리면 됩니다... ㅎㅎ

    var loop:Boolean = false;
    function loopFnc() : void {
    if(!loop) {
    trace("그만하자");
    return;
    }
    trace("돌아보자");
    }

    요렇게요...ㅎㅎ

    그냥 지나가다... ㅋ

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.05.21 18:37 신고

      아랫분이 정확하게 설명해주셨네~

    • 케이 2008.05.22 16:52 신고

      간혹 함수를 어느부분에서 강제로 멈춰야할 상황일때...
      이방법을 쓴다는걸 말해주려햇는데... 오해없으시길... ㅎㅎ

  3. Favicon of http://blog.daum.net/volzh 얼사마 2008.05.21 18:17 신고

    저도 케이님과 같은 생각을 하긴 했는데...
    예제는 글킨하지만, 혹시나 마지막 if문 이후에도 뭔가 코드가 더 있어야 하는 상황이라면...하고 생각하니... ㅎㅎ

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.05.21 18:37 신고

      그쵸 저 부분에서 리턴시켜버리면 실제 사이즈를 반영시켜주는 부분은 무시되버리겠죠~
      감사합니당^^

  4. Favicon of http://butterguy.tistory.com 버터백통 2008.05.22 10:38 신고

    우와~~ 멋지다~~ 잘 활용하도록 할께~

  5. Favicon of http://blog.flashplatform.kr 검쉰 2008.05.22 15:07 신고

    와~ 전혀 생소한데요! 좋은 정보 감사합니다 ;)

  6. 금돌이 2008.05.26 17:55 신고

    음.. ㅎㅎㅎㅎ

  7. 박스농사 2008.05.29 08:54 신고

    멋저용~~

  8. Favicon of http://kyungmun.tistory.com 메콰 2010.02.23 14:30 신고

    오오 좋네요 ㅋㅋㅋㅋ

+ Recent posts