注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

有你做翅膀,孤单都是坚强

生命中总要经历曲折,或许是我们不愿意,突然到最后走不通,想重新来过,记录每件小事

 
 
 

日志

 
 
关于我
K24

曾经的生涩,曾经的懵懂,曾经的自恋,都随风去吧。。。

网易考拉推荐
 
 

【转载】flex虚线画法通用实例  

2013-08-10 21:00:51|  分类: @flex |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自caoyanhua_05《flex虚线画法通用实例》

 

转载一个网上一个flex虚线画法!

有两个文件:dashLine.mxml 和 MyDashLine.as

1、dashLine.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="myInit();">
<mx:Script>
   <![CDATA[
     private function myInit():void{
         var myDashLine:MyDashLine = new MyDashLine();
         this.addChild(myDashLine.myInit(2, 0xFF0000, 0.9, 100, 100, 600, 500, 5, 30, 25));
         this.addChild(myDashLine.myInit(2, 0xFF00FF, 0.3, 100, 500, 600, 100, 10, 30, 25));
     }
          
   ]]>
</mx:Script>

</mx:Application>

2、MyDashLine.as

package{
import flash.display.Graphics;
import flash.display.Sprite;
import flash.geom.Point;

import mx.core.UIComponent;

public class MyDashLine extends UIComponent{
        private var lines:Sprite = new Sprite();
        private var component:UIComponent = new UIComponent();
      
   public function MyDashLine(){
      lines = new Sprite();
      component = new UIComponent();
   }
  
        /*myInit()函数参数注解:
         * 1、shuliang    虚线的条数
         * 2、lineColor   虚线的颜色
         * 3、lineAlpha   虚线的alpha值
         * 4、fromX       虚线起始点的x轴的值
         * 5、fromY       虚线起始点的y轴的值
         * 6、toX         虚线末点的x轴的值
         * 7、toY         虚线末点的y轴的值
         * 8、pointWidth 单个点的厚度
         * 9、pointLength 单个点的长度
         * 10、twoPointDistance 两个点之间的间隔
         *
        */
        public function myInit(shuliang:Number, lineColor:uint, lineAlpha:Number, fromX:Number, fromY:Number, toX:Number, toY:Number, pointWidth:Number, pointLength:Number, twoPointDistance:Number):UIComponent{
            drawDashed(lines.graphics, lineColor, lineAlpha, new Point(fromX, fromY), new Point(toX, toY), pointWidth, pointLength, twoPointDistance);
            return component;
        }
       
        private function drawDashed(graphics:Graphics, lineColor:uint, lineAlpha:Number, p1:Point, p2:Point, pointWidth:Number, pointLength:Number, twoPointDistance:Number):void{
            graphics.lineStyle(pointWidth, lineColor, lineAlpha);
            var max:Number = Point.distance(p1, p2);
            var dis:Number = 0;
            var p3:Point;
            var p4:Point;
            while(dis < max){
                p3 = Point.interpolate(p2, p1, dis / max);
                dis += pointLength;
                if(dis > max){
                    dis = max;
                }
                p4 = Point.interpolate(p2, p1, dis / max);
                lines.graphics.moveTo(p3.x, p3.y);
                lines.graphics.lineTo(p4.x, p4.y);
                dis += twoPointDistance;
           }
           component.addChild(lines);
        }
  
}
}

  评论这张
 
阅读(118)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017