[Diebuster -> Non blocking loop] 과제 답변



@ 위에 그림은 제가 브라우져를 확대하다가 우연히 발견하였습니다 ( ㅋ ) 이벤트라도 걸어 놓으신거 아닌지..




@과제 : 
  
  1. non blocking loop가 완료될 때 완료이벤트를 수신할 수 있도록 개선하시오.
  2. 아예 Shape를 상속하도록 개선하시오.
  3. 일반화시켜 클래스로 정리하는 포스팅을 한 건 처음이지만 non blocking에 대해서는 이미 두어 개의 포스트가 블로그 내에 존재하니 찾아보세요.




@답안


*1. , 2. :


Created with colorer-take5 library. Type 'actionscript'

package
{
    import flash.display.Sprite;
    import flash.text.TextField;
    
    public class testE extends Sprite
    {
        public function testE()
        {
            //텍스트필드 한개 생성
            addChild( new TextField() );
            
            //nonBlockingLoop 생성
            var looper:nonBlockingLoop = new nonBlockingLoop();
            
            //nonBlockingLoop 실행
            looper.loop(999 , 10 , Do ,["count : " , " #"] , complete);
        }
        
        //loop target 메소드
        private var testCount : int = 0;
        private function Do($str : String , $str2 : String):void
        {
            TextField(getChildAt(0)).text = $str + testCount + $str2;
            ++testCount;
        }
        
        //완료시 콜백!
        private function complete():void
        {
            TextField(getChildAt(0)).text = "comp!";
        }
    }
}


import flash.display.Shape;
import flash.events.Event;

//Shape 을 상속 [과제2] 
class nonBlockingLoop extends Shape
{
    private var  _this : nonBlockingLoop;
    
    //** 변경된 내용 : 기존의 ...$param을  Array 형태로 전환하여 후자에 인자값을 더 받을수 있게 하였다
    //** $completeCallBack 을 만들어 루프 완료시 신호를 전달하게 하였다.
    //** 인자 기본값을 = null 로 하여 필요없을때는 비워두도록 하였다.
    public function loop( $counter : int , $limit : int , $runner:Function , 
                          $param : Array = null , 
                          $completeCallBack : Function = null):void
    {
        var counter : int = 0;
        
        //상속된 Shape 의 참조를 유지하기 위해
        _this = this;
        _this.addEventListener(Event.ENTER_FRAME , 
            function(e:Event):void
            {
                var i : int = 0;
                while( i++ < $limit)
                {
                    if(counter < $counter)
                    {
                        //$param 의 null 검사 추가
                        if($param != null && $param.length)
                        {
                            $runner.apply( null , $param);
                        }else{
                            $runner();
                        }
                        ++counter;
                    }else{
                        
                        //완료시.. 콜백호출[과제1] 
                        if($completeCallBack != null)
                            $completeCallBack();
                        _this.removeEventListener(e.type , arguments.callee );
                        break;
                    }
                }
            }
        );
    }
}


*3. : 
http://www.diebuster.com/?s=%EB%A3%A8%ED%94%84&x=0&y=0#/?p=1559






** p.s

nonBlockingLoop 클래스 의 인자값 , [ $counter : int , $limit : int ] 를 좀더 편리하게 바꾸어 실제 연산되는 양을 직접적으로 기입할수 있게
한다면 경우에 따라 사용성이 훨씬 높아 질것 같다는 생각을 했습니다.

기능추가를 위해 루프안에다가 제어문의 내용을 늘리면 퍼포면스 영향이 약간 걱정되기도 합니다.

테스트 루프 기능을 추가하여, 몇번루프를 돌릴면서 시간차를 체크하면 , 해당 클라이언트의 컴퓨터 속도를 
도출할수 있어 루프의 연산 밀도를 조절할수 있을것도 같습니다.
Yamecoder 야매코더_
AS3 2011. 2. 10. 10:37

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon true religion 2014 2013.10.25 04:14  수정/삭제  댓글쓰기

    뉴없At Virginia, Ackerman witnessed first-hand the plights of a fledgling program. She saw the ugly, used uniforms, the ones Ryan sometimes wished would get stolen so they could be replaced. She saw women's basketball teams at North Carolina and N.C. State, that seemed further along than the Cavaliers, and what it would take to improve. She saw how few women's teams there were at Virginia. "We felt li다가

  3. BlogIcon birkenstock sandals outlet 2013.11.02 17:41  수정/삭제  댓글쓰기

    에하him falter。Police at the scene of the accident investigation found that Ms Chu foot one pair of gold high-heeled sandals , asked why she drove to wear slippers , did not think Miss Zhu actually smiled and replied : "I do not deserve to wear white dress sandals this body does not look good。Driver of the accident Birkenstock Papillio was a young woman , surnamed Zhu。Each subject selected pair Birken는일

  4. BlogIcon 100% Australian Sheepskin Boots 2013.11.05 01:11  수정/삭제  댓글쓰기

    니는[url=]Uggs boots[/url]

    [url=]aqua uggs[/url]

    [url=]aqua ugg boots[/url]

    [url=]UGG Australia sundance ii boots 5325[/url]

    [url=]UGG Australia Women's Sundance II black[/url]

    [url=http://www,Ugg Boots on Clearance.fleeceshoe.com/australia-ugg-sundance-ii-boots-chestnut-p-170.html]Ugg Australia Sundance Ii chestnut[/url]

    [url=]UGG Sundance II Chocolate[/url] 마뉴

  5. BlogIcon Youth Football Jerseys 2013.11.06 11:39  수정/삭제  댓글쓰기

    니리Low cost Hollister Mens Seaside Shorts

    As we all undergo, Denizen countries is usually split into quint parts, specified as Boreal European countries, Sandwich Continent nations, Blue Continent nations and Bifocal Dweller nations. Group in Ellas usually position neatly. Since the equal to umteen countries, in semiofficial get together events,, men ofttimes tie and coiffe colourful touch western-s겠어

  6. BlogIcon 情趣用品 2014.01.18 21:26  수정/삭제  댓글쓰기

    관예在今天的社會中,很多人都崇尚中庸之道,總是在追求倖福生活的過程中說要平淡,




    首先,豬頭肉,賺錢慾望要強烈



    男人是創業的主要人群,因為他們是有著激情和慾望的人群,好吃的糕餅。在年輕的時候,總是有著創業夢想,




    男人創業成功不僅僅要靠智慧,還要不屈不饒,堅持不懈的精神,




    其次,創業要有激情




    實際上,境外投資,在創業的過程中,無論成功還是失敗,都是一種寶貴的經歷,並不是每個人都能夠一次性的獲得成功,如果想要成功,更主要的是有想法,有不服輸的精神,






    年輕人是有激情的,所以很多人都會趁著年輕的時候去創業,而對於創業者來說,這是最基本的要求,也是讓事業做成功的一個標准,西門町飲料店,如果不能夠保持激情的話,是很難成功創業的,激情是推助劑。




    每個男人都有這樣一個夢想:一個漂亮的老婆,一고리

  7. BlogIcon 匿名 2014.07.28 02:11  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon 匿名 2014.08.19 14:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. BlogIcon chanel replica handbags 2014.08.24 12:55  수정/삭제  댓글쓰기

    는스dependent Skies Angel within lawful tangle along with cable television

    This year,furla handbags on sale, Southwest florida dependent Skies Angel submitted a course entry problem using the Government Marketing communications Fee towards Breakthrough following this unplugged a good contract which permitted the little Online rep to transport 5 associated with it's associated stations, such as Pet 마방

  10. BlogIcon 匿名 2014.09.11 12:19  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. BlogIcon 匿名 2014.09.28 14:40  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. BlogIcon chanel shoes online 2014.10.02 01:40  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon gucci outlet 2014.10.03 14:48  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. BlogIcon coach factory online 2014.10.26 08:54  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. BlogIcon 深圳眼镜批发 2014.11.12 00:51  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. BlogIcon discount parajumpers jackets 2014.11.28 08:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. BlogIcon 鑫宏翔压瓦机械设备厂 2015.01.02 19:45  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  18. BlogIcon Balzane Longchamp 2015.01.08 22:56  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  19. 匿名 2015.01.15 12:21  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  20. 匿名 2015.02.11 14:05  수정/삭제  댓글쓰기

    마로永恒之塔服务端传奇服务端密传-服务端QQ西游私服务端天堂1私服务端

    千年服务端蜀门服务端征途服务端机战服务端神泣服务端醉西游服务端

    天堂I服务端挑战OL服务端剑侠情缘-服务端奇侠XIAH服务端挑战服务端


    传世开私服一条龙服务-

    传奇开私服一条龙开区服务-


    传奇广告代理-

    IDC服务器以及空间租用-

    魔兽世界sf开服一条龙服务-


    客服咨询QQ(企鹅扣扣)1285574370

    Email:1285574370@qq.com

    更多商业版本免费开放下载




    天恒科技1.95皓月终极12星座道士加强升级版



    天恒科技1.85荣耀必杀极限之地广寒宫泡点元素PK版



    天恒科技1.85无特戒无英雄轻中变魔神唯我独尊麻痹宝宝



    天恒科技独家1.85恶魔世界装备分身15转八钻靓装元素中变版상관

  21. BlogIcon tiffany co sunglasses 2015.03.05 17:04  수정/삭제  댓글쓰기

    간료Who doesn't love ice creams? Be it youngstersor grown-ups, ice cream is almost almethodsa favourite dessert. Making ice cream is an enjoyable process,tiffany co sunglasses, provided the recipe is straightforward and the ingredients can be found. As a coki'm almethodson a glance out for undeniablerecipes employingas little ingredients as possible.

    some of the ice creams include eggs, which make히예

Powerd by Tistory, designed by criuce
rss