没有mxml的绘图线(使用ActionScript)

usm*_*man 2 apache-flex drawing mxml line

我想用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()"/>
Run Code Online (Sandbox Code Playgroud)

`

Joe*_*aud 6

请注意,当您使用时,myShape.graphics.moveTo您没有在应用程序本身上绘图,因为该Graphic对象是Shape您创建的对象.

目前,您已将形状创建为内存中的新对象,并在其上绘制一条线.

 _____________           _____________
|             |         | __          |  
|             |         ||\ | <-shape |  
|             |         ||_\|         |  
|             |         |             |  
| Application |         | Memory      |  
|             |         |             |  
|_____________|         |_____________|
Run Code Online (Sandbox Code Playgroud)

要使其显示在您的应用程序中,您仍需要使用addChild将形状添加为应用程序或组件的子项.Adobe参考链接

 _____________           _____________
| __          |         |             |   
||\ | <-shape |         |             |   
||_\|         |         |             |  
|             |         |             |  
| Application |         | Memory      |  
|             |         |             |  
|_____________|         |_____________|
Run Code Online (Sandbox Code Playgroud)

尝试使用this.addChild它应该添加你的形状,但要记住你绘制的坐标在哪里为Shape对象而不是你的应用程序.

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);
}
Run Code Online (Sandbox Code Playgroud)