`
Fis
  • 浏览: 88108 次
  • 性别: Icon_minigender_1
  • 来自: 龙城
社区版块
存档分类
最新评论

AS3画虚线、斑马线

    博客分类:
  • AS
阅读更多
package cn.lite3.utils 
{
        import flash.display.BlendMode;
        import flash.display.Graphics;
        import flash.geom.Point;

        /**
         * www.lite3.cn
         * lite3@qq.com
         * @author lite3
         */
        public class GraphicsUtil 
        {

                /**
                 * 画斑马线
          * 
                 * @param        graphics  
                 * @param        beginPoint   
                 * @param        endPoint  
                 * @param        width  斑马线的宽度
          * @param        grap   
                 */
                static public function drawZebraStripes(graphics:Graphics, beginPoint:Point, endPoint:Point, width:Number, grap:Number):void
                {
                        if (!graphics || !beginPoint || !endPoint || width <= 0 || grap <= 0) return;

                        var Ox:Number = beginPoint.x;
                        var Oy:Number = beginPoint.y;

                        var totalLen:Number = Point.distance(beginPoint, endPoint);
                        var currLen:Number = 0;
                        var halfWidth:Number = width * .5;

                        var radian:Number = Math.atan2(endPoint.y - Oy, endPoint.x - Ox);
                        var radian1:Number = (radian / Math.PI * 180 + 90) / 180 * Math.PI;
                        var radian2:Number = (radian / Math.PI * 180 - 90) / 180 * Math.PI;

                        var currX:Number, currY:Number;
                        var p1x:Number, p1y:Number;
                        var p2x:Number, p2y:Number;

                        while (currLen <= totalLen)
                        {
                                currX = Ox + Math.cos(radian) * currLen;
                                currY = Oy + Math.sin(radian) * currLen;
                                p1x = currX + Math.cos(radian1) * halfWidth;
                                p1y = currY + Math.sin(radian1) * halfWidth;
                                p2x = currX + Math.cos(radian2) * halfWidth;
                                p2y = currY + Math.sin(radian2) * halfWidth;

                                graphics.moveTo(p1x, p1y);
                                graphics.lineTo(p2x, p2y);

                                currLen += grap;
                        }

                }


                /**
                 * 画虚线
          * 
                 * @param        graphics  
                 * @param        beginPoint
                 * @param        endPoint  
                 * @param        width   虚线的长度
                 * @param        grap  
                 */
                static public function drawDashed(graphics:Graphics, beginPoint:Point, endPoint:Point, width:Number, grap:Number):void
                {
                        if (!graphics || !beginPoint || !endPoint || width <= 0 || grap <= 0) return;

                        var Ox:Number = beginPoint.x;
                        var Oy:Number = beginPoint.y;

                        var radian:Number = Math.atan2(endPoint.y - Oy, endPoint.x - Ox);
                        var totalLen:Number = Point.distance(beginPoint, endPoint);
                        var currLen:Number = 0;
                        var x:Number, y:Number;

                        while (currLen <= totalLen)
                        {
                                x = Ox + Math.cos(radian) * currLen;
                                y = Oy +Math.sin(radian) * currLen;
                                graphics.moveTo(x, y);

                                currLen += width;
                                if (currLen > totalLen) currLen = totalLen;

                                x = Ox + Math.cos(radian) * currLen;
                                y = Oy +Math.sin(radian) * currLen;
                                graphics.lineTo(x, y);

                                currLen += grap;
                        }

                }

        }

}
分享到:
评论

相关推荐

    as3代码画虚线源码

    下面我们将详细介绍如何使用AS3来画虚线,并结合提供的源码进行解析。 在AS3中,`Graphics`类是`DisplayObject`类的一部分,允许我们直接在舞台上进行绘图。要画虚线,我们可以利用`beginLineBitmapStyle()`或`...

    flex as3虚线

    在Flex AS3开发中,创建虚线效果是常见的需求,特别是在UI设计中,虚线常用于表示分隔、选中状态或非连续路径等。本文将深入探讨如何在Flex AS3环境中实现虚线效果。 首先,我们需要理解AS3(ActionScript 3)是...

    在Word中画虚线的方法.docx

    我们只需要找到画线的工具,画出一条或多条线来,然后设置虚线的形状、粗细和颜色等。这样,我们就可以得到我们想要的虚线了。 此外, Word 中还有很多其他的绘图工具和功能,我们可以根据需要进行探索和学习。例如...

    C#窗体程序画虚线

    下面,我们将深入探讨如何在C#窗体程序中使用鼠标画虚线。 首先,我们需要创建一个Windows Forms应用程序项目。在Visual Studio中,选择"新建项目",然后在模板中找到"Windows Forms应用程序",为项目命名并创建。 ...

    GDI画笔虚线.rar

    3. **选择画笔**: 创建并设置好画笔后,需要将其选入设备上下文(DC)以便使用。使用`SelectObject`函数将画笔对象与DC关联起来。这样,后续的绘图操作将使用这个画笔。 4. **绘图**: 使用`MoveToEx`和`LineTo`...

    易语言画笔虚线样式源码,易语言GDI画笔虚线

    易语言GDI画笔虚线源码,GDI画笔虚线,取指针,置指针,方法_置指针,new,delete,销毁,创建自窗口句柄,创建自DC,创建自图像,获取DC,释放DC,取混合模式,置混合模式,取渲染原点,置渲染原点,取混合品质,置混合品质,置平滑...

    Android 画虚线Demo(静态和动态)

    在Android开发中,有时我们需要为UI元素添加虚线效果,比如分隔线、边框等。本Demo将详细讲解如何在Android中实现静态和动态画虚线的方法,这对于提升应用界面的美观性和用户体验至关重要。 首先,我们要理解...

    在cad中怎么画虚线框的.doc

    "CAD 中画虚线框的技巧和标准图框绘制" 在 CAD 中,画虚线框是非常重要的技能,因为它可以帮助我们更好地表达结构和设计理念。下面,我们将详细介绍 CAD 中画虚线框的技巧和标准图框绘制的方法。 首先,让我们来...

    creator 使用Graphics绘制移动的虚线 项目

    许多编程语言,如Java、C#或Python,都有对应的图形库,如Java的`java.awt.Graphics` 和C#的`System.Drawing.Graphics`,这些库提供了丰富的绘图方法,包括画线、填充形状、绘制文本等。 在本项目中,`Graphics` 被...

    小学信息技术选修画虚线画虚线PPT教案.pptx

    5. **再次落笔(pd)**:在新的方向上再次落笔,继续画线。 6. **重复步骤2-5**:按照这个模式,通过多次提笔、换方向和落笔,可以创造出各种复杂的虚线图案。 在PPT的第3页,可以看到具体的编程指令序列: ``` pu ...

    VC画虚线矩形,点画线矩形

    在本示例中,我们将探讨如何使用VC++来绘制虚线矩形和点画线矩形。首先,我们需要理解VC++中的GDI(Graphics Device Interface)图形库,它是Windows API的一部分,用于处理图形设备操作,如屏幕、打印机等。 1. **...

    flex画虚线代码

    在探讨“flex画虚线代码”这一主题时,我们深入解析如何利用Flex框架中的图形功能来绘制虚线,以及理解这段代码背后的核心逻辑和技术要点。Flex是一个强大的开发框架,主要用于构建跨平台的富互联网应用程序(RIA)...

    VC6.0 虚线绘制

    3. **绘制虚线** 现在我们可以使用设备上下文的`MoveTo`和`LineTo`函数来绘制虚线。例如,从(10, 10)到(200, 100): ```cpp dc.MoveTo(10, 10); dc.LineTo(200, 100); ``` 4. **自定义符号绘制** 若要绘制...

    C# 绘制自定义虚线

    虚线可以用于表示分隔线、指示器或者为某些元素添加视觉效果。本文将深入探讨如何在C#中实现自定义虚线的绘制,包括基本原理、API使用以及实际示例。 首先,我们要了解C#中的绘图基础。在Windows Forms中,我们可以...

    半圆加虚线分割线效果

    先画半圆,然后在底部画出虚线分割线。你可以根据需要调整虚线的位置和长度。 5. **颜色和宽度**: 使用`Paint`对象的`setColor()`方法设置线条的颜色,`setStrokeWidth()`方法设置线条的宽度。这些属性可以根据设计...

    html设置分割线虚线,css border设置虚线样式

    在网页设计中,分割线和虚线样式是创建布局和区分内容的重要元素。HTML和CSS提供了多种方法来实现这些效果。下面将详细讲解如何利用HTML和CSS中的`border`属性来设置虚线样式,以及创建分割线的方法。 首先,HTML...

    用Point+Graphics画虚线

    本篇将探讨如何使用Point和Graphics类在ActionScript中实现虚线的绘制,这通常应用于Flash或Flex项目中。 Point类是ActionScript 3中的一个基础图形类,它代表二维坐标系统中的一个点。Graphics类则是用于在舞台上...

    unity Line 虚线

    3. **资源管理**:压缩包中的"line"文件夹应包含与虚线相关的资源,如材质或预设。将这个文件夹解压并拷贝到项目的Resources目录下,这样我们可以使用Unity的Resources.Load函数在运行时加载这些资源。 4. **使用...

    画虚线实例

    很难画的虚线如何在VB中实现能结合matlab autoacad进行哈哈呵呵

    IOS画虚线边框

    在iOS开发中,创建具有虚线边框的视图是一种常见的需求,这通常用于区分界面元素或者呈现某种视觉效果。本文将深入探讨如何在iOS应用中实现虚线边框,并提供具体的代码示例。 首先,我们需要了解iOS中的Core ...

Global site tag (gtag.js) - Google Analytics