2010-11-21 6 views
0

그래서 Sprite/Shape를 확장 할 필요없이 Graphics 클래스의 기능을 사용할 수있게하려는 프로젝트를 가지고 놀고 있습니다. 제 목표는 제쳐두고, 어떻게 작동하는지 혼란 스럽습니다. 그것의 메서드는 아무것도 반환하지 않는 것, 그리고 Sprite/Shape 클래스의 자식 속성으로 추가 되었기 때문에 실제로 무엇을하는지 파악할 수 없습니다. 또한 인스턴스화 할 수없는 클래스 중 하나입니다.AS3 Graphics 클래스 : 어떻게 작동합니까?

이 시점에서, 나는 단지 궁금해서.

누구든지 이에 대해 의견이 있으십니까?

편집 : 내가 답으로서 찾고있는 것의 더 분명한 구분을 제공해야합니다. 설명서를 읽었지만 AS3이 실제로 수행하는 작업에 대한 설명서는 설명하지 않습니다. 나는 그래픽과 그것을 사용하는 클래스 사이의 프로그램 적 관계에 대한 지식이있는 추측을 찾고있다.

+0

HTML5의 캔버스 요소에 익숙한 경우 AS3 DisplayObject의 그래픽 속성은 drawRect() 등과 같은 메서드를 사용하여 그릴 수있는 캔버스와 비슷합니다. –

+0

상속을 사용하여 Sprite를 확장하는 대신 composition을 사용하고 Sprite 유형의 클래스 멤버 변수를 만들지 않습니까? – Allan

답변

2

이것은 AS3 참조가 Graphics 클래스에 대한 말씀입니다 :

Graphics 클래스에는 벡터 모양을 만들 때 사용할 수있는 메서드가 포함되어 있습니다. 드로잉을 지원하는 드로잉 오브젝트에는 스프라이트와 셰이프 오브젝트가 포함됩니다. 각 클래스 에는 그래픽 개체 인 그래픽 속성이 포함되어 있습니다. 다음은 도우미 함수 중 이며 사용 용이성을 위해 을 제공합니다. drawRect(), drawRoundRect(), drawCircle() 및 drawEllipse().

ActionScript 코드에서 직접 그래픽 객체를 만들 수 없습니다. 새 Graphics()를 호출하면 예외가 발생합니다.

그래픽 클래스는 final입니다. 그것은 서브 클래스 화 될 수 없습니다 수 없습니다.

질문의 첫 번째 부분에 대해서는 Sprite 또는 Shape를 사용하지 않고 Graphics의 기능을 사용할 수 없지만 인스턴스화하거나 서브 클래 싱 할 수는 없습니다.

그래픽의 메서드는 아무것도 반환하지 않지만 벡터 셰이프를 호출하는 부작용이 그려집니다.

관련 문제