2011-02-16 4 views
2

hai 나는 actionscript를 사용하여 선을 그려야합니다. 누군가가 나에게 힌트 을 줄 수 것은 여기에 내 코드mxml없이 선 그리기 (ActionScript 사용)

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx"> 

    <fx:Script> 
     <![CDATA[ 

     private function drawLine():void 
     { 
      var myShape:Shape =new Shape(); 
      myShape=new Shape() ; 
      myShape.graphics.lineStyle(2, 0x990000, .75); 
      myShape.graphics.moveTo(10, 10); 

      myShape.graphics.lineTo(25, 45); 

     } 

     ]]> 
    </fx:Script> 

<s:Button label="myButton" click="drawLine()"/> 

`

답변

6

공지 사항입니다 당신이 사용할 때 myShape.graphics.moveToGraphic 개체가 만든 Shape입니다 때문에 당신이 응용 프로그램 자체에 그리기되지 않습니다.

현재 메모리에 새 객체로 모양을 작성하고 그 위에 선을 그렸습니다. 이 응용 프로그램에 표시 할 수

_____________   _____________ 
|    |   | __   | 
|    |   ||\ | <-shape | 
|    |   ||_\|   | 
|    |   |    | 
| Application |   | Memory  | 
|    |   |    | 
|_____________|   |_____________| 

, 당신은 여전히 ​​응용 프로그램 또는 구성 요소의 자식으로 모양을 추가 addChild를 사용해야합니다. Adobe Reference Link

_____________   _____________ 
| __   |   |    | 
||\ | <-shape |   |    | 
||_\|   |   |    | 
|    |   |    | 
| Application |   | Memory  | 
|    |   |    | 
|_____________|   |_____________| 

그것은 당신의 모양을 추가하지만 기억해야 this.addChild를 사용해보십시오 당신이에 그린 좌표 곳없는 당신이 응용 프로그램의 모양 객체.

private function drawLine():void 
{ 
    var myShape:Shape = new Shape(); 
    myShape = new Shape() ; 
    myShape.graphics.lineStyle(2, 0x990000, .75); 
    myShape.graphics.moveTo(10, 10); 

    myShape.graphics.lineTo(25, 45); 
    this.addChild(myShape); 
} 
+0

+1. 나는 당신이 살기에 충분한 포인트가 없다고 생각한다. 그러나 나는 너를 위해 그것을 승인했다. – JeffryHouser

+0

원본 질문을 편집 할 때 원래의 대답이 아니라 +1을 의미했습니다. ;) – JeffryHouser

4

직접 spark.primitives.Line을 사용하여 모든 종류의 스타일과 속성을 가진 라인을 얻을 수 있습니다. 코드의 형식을 원래의 대답을 편집

 private function drawLine():void 
     { 
      var newLn:Line = new Line(); 
      newLn.xFrom = 50; 
      newLn.xTo = 200; 
      newLn.y = 100; 
      newLn.stroke = new SolidColorStroke(0xFF0000, 2); 
      addElement(newLn); 
     } 

HTH, FTQuest