zoukankan      html  css  js  c++  java
  • Shape、Sprite 和 MovieClip 对象的 graphics 属性(graphics类)的简单用法

    一直都很想学下用AS画简单的线条,今天终于抽出空看了下关于这方面的AS,顺便做了下面的笔记。拿来和大家分享。不当之处请大家多指教。AS3.0中管这叫绘图 API 。绘图 API 是 ActionScript 中一项内置功能的名称,您可以使用该功能来创建矢量图形(直线、曲线、形状、填充和渐变),并使用 ActionScript 在屏幕上显示它们(这名是书上复制的,呵呵)。         
    实现绘图API功能,AS3.0是通过flash.display.Graphics 类来完成的,Graphics类是以Shape、Sprite 或MovieClip 实例的属性这个身份来实现绘图功能!下面是最简单的画线和曲线。复杂的东西奄就不会啦
    画线条:                              
    一、设置线条和填充样式。可以使用lineStyle() 或 lineGradientStyle() 方法来指定线条的外观。创建纯色线条:
       AS:myShape.graphics.lineStyle(2, 0x990000, 0.75);  // myShape是Shape的一个实例,"2":指线条的粗细, "0x990000"是指线条的颜色,"0.75":是指线条的透明度,完全不透明的话就设成1好了。lineStyle()方法还可以接受其它的额外参数,这里不一一介绍!

    二、设置线条的起始点。调用 moveTo() 方法。
          AS:myShape.graphics.moveTo(100, 100);//设置坐标点(100,100)为线条的起始点

    三、绘制线条到第二个点(两点确定一条直线嘛)。调用lineTo()方法。
    AS:myShape.graphics.lineTo(200,200)//坐标点(200,200)是目前所绘线条的第二个点也是结束点。
    以上已绘制好一条直线!
    综合AS如下:

    VarmyShape:Shape=Shape();                                                                          
    myShape.graphics.lineStyle(2,0x990000,0.75);
    myShape.graphics.moveTo(100,100);                                                              
    myShape.graphics.lineTo(200,200);         
    addChild(myShape);

    画曲线:curveTo() 方法可以绘制二次贝塞尔曲线。这将绘制一个连接两个点(称为锚点)的弧,同时向第三个点(称为控制点)弯曲。Graphics 对象使用当前绘制位置作为第一个锚点。调用 curveTo() 方法时,将传递以下四个参数:控制点的 x 和 y 坐标,后跟第二个锚点的 x 和 y 坐标。

    一、设置线条和填充样式。设置线条的样式和以上画直线的方法是一样的,如果要创建填充形状,在绘制前调用 beginFill()、beginGradientFill()、beginBitmapFill() 或 beginShaderFill() 方法来设置填充样式。最基本的方法beginFill()接受两个参数。
      AS:myShape.graphics.beginFill(0x00FF00,0.7);//”0x00ff00":指填充颜色,“0.7”:批透明度(Alpha值)
    二、设置线条的起始点。调用 moveTo() 方法。
        AS:myShape.graphics.moveTo(100, 100);//设置坐标点(100,100)为线条的起始点。
    三、绘制曲线。调用curveTo() 方法。curveTo() 方法可以绘制二次贝塞尔曲线。这将绘制一个连接两个点(称为锚点)的弧,同时向第三个点(称为控制点)弯曲,调用 curveTo() 方法时,将传递以下四个参数:控制点的 x 和 y 坐标,后跟第二个锚点的 x 和 y 坐标。
        AS:myShape.graphics.curveTo(175, 125, 200, 200);//点(175,125)是控制点的坐标,点(200,200)是第二个锚点的坐标。

    综合AS:
      var myShape:Shape=new Shape();   
      myShape.graphics.lineStyle(2,0x990000,0.75);      
      myShape.graphics.beginFill(0x256984,0.5);
    //设置填充颜色,可调用 endFill() 方法来结束 ,如果绘制的形状没有闭合(换句话说,在调用 endFill() 时,绘制点不在形状的起始点),调用 endFill()方法时, Flash Player 或AIR 将自动绘制一条直线以闭合形状    
    myShape.graphics.moveTo(100,100);   
    myShape.graphics.curve(175,125,200,200);   
    addChild(myShape);
    以上曲线已完成

    经过试验,在绘画前一定要先进行第一步的设置,要不然Playe将显示不出图形!
  • 相关阅读:
    第三周学习进度条
    软件工程个人作业02
    构建之法阅读笔记02
    学习进度条
    构建之法阅读笔记01
    软件工程个人作业01
    构建之法粗读
    第一次作业
    动手动脑接口与继承
    大道至简第七章第八章
  • 原文地址:https://www.cnblogs.com/OwenWu/p/1721345.html
Copyright © 2011-2022 走看看