zoukankan      html  css  js  c++  java
  • flash as3 画虚线参考

    仅供参考:

    package{
    import flash.display.Graphics;
    import flash.geom.Rectangle;
    public 
    function drawDottedRect(graphics:Graphics, rect:Rectangle){
    var sizeOfDash:Number = 5//size of each dash
    graphics.clear();
    graphics.lineStyle(
    1,0x000000,100);
    var iterations:Number = Math.ceil(Math.abs(rect.right - rect.left)/(sizeOfDash*2));
    for(var i=0;i<iterations;i++){//Draw top
    if(rect.right < rect.left){
    var moveDist:Number = -(sizeOfDash*2*i);
    var dash:Number = -(sizeOfDash);
    }
    else{
    var moveDist:Number = sizeOfDash*2*i;
    var dash:Number = sizeOfDash;
    }
    graphics.moveTo(rect.left 
    + moveDist,rect.top);
    if(i == iterations-1){
    graphics.lineTo(rect.right,rect.top);
    }
    else{
    graphics.lineTo(rect.left 
    + moveDist + dash,rect.top);
    }
    }
    for(var i=0;i<iterations;i++){//Draw Bottom
    if(rect.right < rect.left){
    var moveDist:Number = -(sizeOfDash*2*i);
    var dash:Number = -(sizeOfDash);
    }
    else{
    var moveDist:Number = sizeOfDash*2*i;
    var dash:Number = sizeOfDash;
    }
    graphics.moveTo(rect.left 
    + moveDist,rect.bottom);
    if(i == iterations-1){
    graphics.lineTo(rect.right,rect.bottom);
    }
    else{
    graphics.lineTo(rect.left 
    + moveDist + dash,rect.bottom);
    }
    }
    var iterations:Number = Math.ceil(Math.abs(rect.bottom - rect.top)/(sizeOfDash*2));
    for(var i=0;i<iterations;i++){//Draw left
    if(rect.top > rect.bottom){
    var moveDist:Number = -(sizeOfDash*2*i);
    var dash:Number = -(sizeOfDash);
    }
    else{
    var moveDist:Number = sizeOfDash*2*i;
    var dash:Number = sizeOfDash;
    }
    graphics.moveTo(rect.left,rect.top 
    + moveDist);
    if(i == iterations-1){
    graphics.lineTo(rect.left,rect.bottom);
    }
    else{
    graphics.lineTo(rect.left,rect.top 
    + moveDist + dash);
    }
    }
    for(var i=0;i<iterations;i++){//Draw right
    if(rect.top > rect.bottom){
    var moveDist:Number = -(sizeOfDash*2*i);
    var dash:Number = -(sizeOfDash);
    }
    else{
    var moveDist:Number = sizeOfDash*2*i;
    var dash:Number = sizeOfDash;
    }
    graphics.moveTo(rect.right,rect.top 
    + moveDist);
    if(i == iterations-1){
    graphics.lineTo(rect.right,rect.bottom);
    }
    else{
    graphics.lineTo(rect.right,rect.top 
    + moveDist + dash);
    }
    }
    }
    }

    附:

      public function drawDashedLine(p:IPen, xA:int,  yA:int,  xB:int,   yB:int,  dashLength:int):void
        {
            var u1:Number = xB - xA;
            var u2:Number = yB - yA;
            var length:Number =  Math.sqrt(u1 * u1 + u2 * u2);
            var n:int = Math.round( (length / dashLength + 1) / 2);//得到分割的块数
            var v1:Number = u1 / (2 * n - 1);//得到X方向增量
            var v2:Number = u2 / (2 * n - 1);//得到Y方向增量
            for (var i:uint = 0; i < n; i++)
            {
                var x1:Number = xA + 2 * i * v1;
                var y1:Number = yA + 2 * i * v2;
                var x2:Number = x1 + v1;
                var y2:Number = y1 + v2;
                drawLine(p,Math.round(x1), Math.round(y1),Math.round(x2), Math.round(y2));
            }
        }

  • 相关阅读:
    平台支持monkey命令并过滤日志展示-安卓
    面试中让你头疼的问题都在这儿
    前端【响应式】开发详细解析
    慕课网价值149《前端JavaScript面试技巧》笔记大公开——适应群体(学生或应届毕业生)
    ASP.NET MVC5总结(四)登陆中常用技术解析之验证码
    ASP.NET MVC5总结(三)登陆中常用技术解析之session与cookie
    Angularjs2——TypeScript学习网站
    ASP.NET MVC5总结(二)@HTML扩展
    ASP.NET MVC5总结(一)@HTML和对应的HTML
    时间处理总结(三)javascript与WCF
  • 原文地址:https://www.cnblogs.com/zhangsir/p/1427161.html
Copyright © 2011-2022 走看看