2010년 3월 12일 금요일

Point 클래쓰 - polar

2. polar( len:Number, angle:Number ) : Point

 

   -> 한 점에서 특정 반경 안에 있는 점들을 구할 수 있다.

 

-

- 30/1000 초로 300번 loop 함수 이벤트 등록해주고, Mark라는 링키지 걸어둔 무비클립을 생성후,

   tempPoint라는 Point 객체를 초기화하는데, 0에서100사이인 원의 반경으로 Math.random()*Math.PI*2

   만큼의 각을 가진 점의 위치를 스테이지 정중에서부터 떨어뜨려 무비클립의 좌표에 넣는다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-> 원래는 이런 소스였으나, 삭제하고 다시 그리는 모양으로 !

 

[code as3]
package classes.view
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.utils.Timer;

public class Main extends Sprite
{
     public function Main()
    {
        super();

        config();
    }

    private var cx:Number = stage.stageWidth / 2;

    private var cy:Number = stage.stageHeight / 2;

    private function config() : void
    {
        var timer:Timer = new Timer( 30 );

        timer.addEventListener( TimerEvent.TIMER, loop );
        timer.start();
    }

    private function loop( e:TimerEvent ) : void
    {
        if(numChildren > 150)
        {
            while(numChildren)
            {
                removeChildAt(0);
            }
        }

        var temp:MovieClip = new Mark();
       
        var tempPoint:Point = new Point();

        tempPoint = Point.polar( Math.random()*100, Math.random()*Math.PI*2 );

        temp.x = tempPoint.x + cx;
        temp.y = tempPoint.y + cy;

        addChild( temp );
    }
}
}
[/code]

 

 

Timer 속성에서 count가 300번인 것을 없애고, loop함수에 numChild 속성을 이용하여 0.03초 마다

이벤트에 의해 나타나는 무비클립을 150번까지 if문으로 제한을 두고 151번째에 removeChildAt 속성을

이용해 한번 싹~ 지워준뒤 다시 그려준다.

 

-

-

-

-

댓글 없음:

댓글 쓰기