2011-10-15 2 views
1

하나의 행을 포함하는 구성 요소 (Test 클래스에 대한 링크)가 있는데이 행의 한 점을 (0, 0)에 둡니다.AS3에서 두 개의 점을 얻는 방법은 무엇입니까?

그런 다음 플래시 (FLA)로 끌어와 같은 AS3 년 Shape을 얻을 :

// in Test.as 
// assume that the movie clip only contain one line. 
var line:Shape = Shape(getChildAt(0)); 

그리고 x 및 VAR liney 인이 라인 1 점을 얻을 수 있습니다. 그러나이 선의 다른 지점을 얻는 방법?

편집 : 여기에 또 다른 질문을 가지고 있지만 거의 위의 질문과 같은 그것을 생각, 위의 구성 요소 물건을 무시 :

(0 0) (10, 10)에에서 선을 그리고 그릴 (10, 0)에서 (0, 10)까지의 또 다른 라인, AS3에서 2 포인트 폼의 라인을 얻는 방법? Shape 후 나는 같은 x, y, widthheight 값을 갖는 두 개의 유사한 모양을 얻을로 내가 그들을 액세스하는 경우

. AS3에는 회선에 액세스 할 수있는 방법이 있습니까? REAL 모양이 아닌 라인? 아니면 그것을 계산할 수있는 방법이 있습니까?

+0

감사합니다. 나는 단지 내 질문을 업데이 트하기 전에 그것이 이전보다 명확합니다. :) – quabug

+0

"AS3에는 모양이 아닌 실제 줄로 라인에 액세스 할 수있는 방법이 있습니까? AS3에는 Line 클래스가 없습니다. 그 선으로 무엇을하고 싶니? 바꿔 줘? 이동? 그것은 우리가 올바른 접근법을 더 잘 이해하는 데 도움이 될 것입니다. –

+0

지도의 경로로 선을 사용하고 클래스로 연결되는 구성 요소에 선을 추가하고 해당 경로의 무게와 유형을 쉽게 변경할 수 있으며 원점과 목적지도 쉽게 변경할 수 있습니다. – quabug

답변

0

나는 이것을하기에 좋은 교묘 한 방법이있다.

여기에 우리가 간다 :

  1. 이의이 Line을 부르 자, 심볼을 만들고 소스 코드 (0, 0) (X, 0)
  2. 링크에이 기호를 원점에서 선을 그립니다.
  3. 이 기호를 스테이지로 드래그하고 필요하면 회전하여 크기를 조정하십시오.코드 Line
  4. :

    var v:Point = new Point(getBounds(this).right, 0); 
    v = localToGlobal(v); 
    

    는 (X, Y) 및 (v.x, v.y)이 라인을 나타낼 수있다.

0

AS3의 Shape 클래스는 도형을 구성하는 점을 포함하지 않습니다. 오히려 그래픽 객체 (마우스 이벤트 디스 패칭이 없거나 표시 객체를 포함 할 수없는)가있는 객체를 만들 수있는 가장 가벼운 표시 객체입니다. 그 이름은 흔히 그 인상을 더 많이 주지만, 그렇지 않습니다. 그리기 호출로 표현되는 것은 무엇이든간에 AS3의 모든 표시 객체에서 모양 또는 일반적으로 액세스 할 수 없습니다.

너비와 높이 x 및 y는 표시 객체 속성으로 경계에 기반합니다. 개별 점을 나타 내기 원한다면 점의 구조를 직접 만들어서 그리기 호출을 나중에 시각화하는 데 익숙해 져야합니다.

점을 저장 한 다음 각 모양을 그려야하고 개별 모양을 크기 조정 또는 변환하고 해당 로컬 모양 이외의 좌표 공간에서 점을 가지려는 경우 DisplayObject의 localToGlobal globalToLocal이 당신에게 유용 할 수 있습니다. 당신이 정말이 벡터 데이터를 검색해야하는 경우

var local:Point = new Point(10, 10); 
var global:Point = someShape.localToGlobal(localPoint); 
var inNewCoord:Point = parentContainer.globalToLocal(globalPoint) 

... 당신은이 게시물을 체크 아웃 할 수 있습니다 : 실제로 SWF의 바이트 데이터를 분석하는 것을 포함하지만 http://wahlers.com.br/claus/blog/hacking-swf-1-shapes-in-flash/

합니다.

+0

"개별 점을 나타 내기를 원하는 경우 나중에 그리기 호출을 시각화하는 데 익숙해지는 점의 구조를 직접 만들어야합니다." 이것이 부분적으로 필요한 것이므로 자세한 내용을 설명해 주시겠습니까? 내가 플래시로 그릴 수 있고 여전히 AS3에서 줄을 표현할 수있는 구조 – quabug

+0

당신이 플래시로 그리는 말은 플래시 IDE 그리기 도구를 의미합니까? 그렇다면 나는 당신이 원하는 것을 얻지 못할 것이라는 것을 확신하며 심지어 관리한다면 ... 아마 당신이 그려야 할 점을 만들고 제거 할 수있게 해주는 swf를 만드는 것이 더 쉬울 것이고 그 점들을 저장하게 될 것입니다 가장 편리한 형식으로 편집기에이 도구가 필요하면 나중에 구성 요소로 만들 수 있습니다. 당신의 목표 달성을위한 더 많은 정보를 요청할 수 있습니까? –

+0

물론, 나는 "inspectable"속성을 가진 컴포넌트로 line을 사용하고 싶다. 그런 다음이를 AS3에서 경로 찾기를 위해 Flash (CS4)에서지도를 어셈블하는 데 노드 구성 요소를 사용할 수 있습니다. 지도의 경로 데이터로 2 포인트 형식으로 해당 라인에 액세스해야합니다. 사실, 라인 구성 요소에서 Inspectable 태그를 사용하여 사분면 속성을 반영하여 두 개의 점을 계산할 수있는 더러운 방법이 있습니다. 그러나 나는 그것이 다소 어색하다고 생각합니다. – quabug

관련 문제