2010년 4월 2일 금요일

Graphics 클래스

Graphics  클래스

 

벡터 모양을 만들 때 사용할 수 있는 메서드가 포함되어 있으며 이것을 지원하는 객체 중에는 Sprite 객체와 Shape 객체가 있다. Graphics 클래스에는 graphics라는 속성이 있는데 이 속성을 이용하여 드로윙 할 수 있다.

 

 

하지만 Graphics 클래스는 new Graphics() 처럼 객체로 만들면 예외가 발생하므로 객체로 만들어 사용할 수 없으며, 이 클래스가 최종 클래스이므로 하위 클래스도 만들 수 없다.

 

그럼 어떻게 사용하느냐...위의 설명 두번째 줄에서 처럼 Sprite 클래스 또는 Shape 클래스를 이용하여 사용한다.

 

[code as3]
var rect:Sprite = new Sprite();

var g:Graphics = rect.graphics;
[/code]

 

위와 같이 사용하여야 한다. 그럼 Graphics 클래스에서 주로 쓰이는 메서드에 대해 알아보자.

 

 

메서드

 

:: clear() : Graphics 객체에 그린 그래픽을 지우고 채우기 및 선 스타일을 다시 설정.

 

 

:: lineStyle() : Graphics 메서드를 호출할 때 사용되는 선 스타일을 지정.

 

- thickness — 선의 두께를 포인트 단위로 나타내는 정수이며 유효한 값은 0-255.

- color — 선의 16진수 색상값.

- alpha — 선 색상의 알파값.

 

 

:: beginFill() : Graphics 메서드를 호출할 때 사용되는 선 스타일을 지정.

 

- color — 채우기 색상.

- alpha — 채우기의 알파 값(0.0 ~ 1.0).

 

 

:: drawRect() : 사각형을 그림.

 

- x — 부모객체 기준으로 가로 위치 설정.

- y — 부모객체 기준으로 가로 위치 설정.

- width — 사각형 너비.

- height — 사각형 높이.

 

 

 

:: endFill() : beginFill(), beginGradientFill() 또는 beginBitmapFill()메서드에

                 대한 마지막 호출 이후로 추가된 선과 곡선에 채우기를 적용.

 

 

 

 

그럼 예제를 하나 만들어보자. 좌측 상단 (0, 0)에 빨간 사각형을 만들어보자.

 

[code as3]
package
{
 import flash.display.Graphics;
 import flash.display.Sprite;

 public class Main extends Sprite
 {
  public function Main()
  {
   super(); // Sprite 객체 생성

   drawRect(); // 사각형 그리기 위한 메서드 호출
  }

   public function drawRect():void
   {
    var thisGraphics:Graphics = this.graphics;

    thisGraphics.clear();
   thisGraphics.beginFill(0xFF0000, 1);
    thisGraphics.drawRect(0, 0, 100, 100);
    thisGraphics.endFill();
    }
  }
}
[/code]

 

 

 

댓글 없음:

댓글 쓰기