用ActionScript画虚线

原创 2006年06月12日 11:11:00
 /*-------------------------------------------------------------
mc.dashTo is a method for drawing dashed (and dotted)
lines. I made this to extend the lineTo function because it
doesn?t have the cutom line types that the in program
line tool has. To make a dotted line, specify a dash length
between .5 and 1.
-------------------------------------------------------------*/

MovieClip.prototype.dashTo = function(startx, starty, endx, endy, len, gap) {
// ==============
// mc.dashTo() - by Ric Ewing (ric@formequalsfunction.com) - version 1.2 - 5.3.2002
//
// startx, starty = beginning of dashed line
// endx, endy = end of dashed line
// len = length of dash
// gap = length of gap between dashes
// ==============
//
// if too few arguments, bail
if (arguments.length < 6) {
return false;
}
// init vars
var seglength, deltax, deltay, segs, cx, cy;
// calculate the legnth of a segment
seglength = len + gap;
// calculate the length of the dashed line
deltax = endx - startx;
deltay = endy - starty;
delta = Math.sqrt((deltax * deltax) + (deltay * deltay));
// calculate the number of segments needed
segs = Math.floor(Math.abs(delta / seglength));
// get the angle of the line in radians
radians = Math.atan2(deltay,deltax);
// start the line here
cx = startx;
cy = starty;
// add these to cx, cy to get next seg start
deltax = Math.cos(radians)*seglength;
deltay = Math.sin(radians)*seglength;
// loop through each seg
for (var n = 0; n < segs; n++) {
this.moveTo(cx,cy);
this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);
cx += deltax;
cy += deltay;
}
// handle last segment as it is likely to be partial
this.moveTo(cx,cy);
delta = Math.sqrt((endx-cx)*(endx-cx)+(endy-cy)*(endy-cy));
if(delta>len){
// segment ends in the gap, so draw a full dash
this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);
} else if(delta>0) {
// segment is shorter than dash so only draw what is needed
this.lineTo(cx+Math.cos(radians)*delta,cy+Math.sin(radians)*delta);
}
// move the pen to the end position
this.moveTo(endx,endy);
};

使用ActionScript 3的绘图命令

Adobe Flash Player 10(及其后续版本)为ActionScript中的程序化绘图功能提供了一组扩展的显示类支持。在这些新添图形类的帮助下,您现在有两种途径可以进行图形脚本的编辑:1....
  • wkyb608
  • wkyb608
  • 2011年01月30日 11:29
  • 847

cocos2d 绘制虚线

// // XLDashedLine.h // XLDashedLine // // Created by Richard Wei on 11-8-31. // Copyright 2011 ...
  • yang3wei
  • yang3wei
  • 2012年05月17日 17:39
  • 1907

Android利用shape画虚线

我们知道,想在Android xml中画出一条直线,很简单: 如果想要画出一条虚线呢? 在drawable目录...
  • shineflowers
  • shineflowers
  • 2016年01月12日 15:17
  • 10562

用opencv画虚线框矩形

#include using namespace std; using namespace cv; void drawDashRect(CvArr* img,int linelength,...
  • xiaopang_yan
  • xiaopang_yan
  • 2016年04月08日 15:50
  • 2352

画流动虚线框(java)

前两天写了个作业:在面板(Panel)上显示一张图片,并能够用鼠标随意拖动,将图片放置于任何位置。 见:http://blog.csdn.net/caoxiongjun/archive/2006/09...
  • caoxiongjun
  • caoxiongjun
  • 2006年09月24日 20:39
  • 4462

OpenCV 虚线矩形

转自:http://blog.sina.com.cn/s/blog_4b0020f301010cy8.html 前两天查资料看opencv 画虚线矩形,先收录一下;后面有可能会用得到。不过代码没有测试...
  • yueguanyun
  • yueguanyun
  • 2016年02月25日 17:38
  • 2835

iOS画虚线方法

我们公司有一个UI需要用虚线,美工给了图片,但我觉得不好,因为图片占用内存会很大,不利于App的精简,于是研究了一下iOS绘制虚线的方法,其实跟绘制直线是一样的,只有一个部分不一样,下面贴出我的代码,...
  • u012265444
  • u012265444
  • 2016年12月19日 19:30
  • 314

在布局中画虚线的方式

项目中如果需要画虚线的情况,直接贴图肯定根据不同屏幕的拉伸情况,肯定不乐观,现在用xml来画虚线 1.在drawable中新建shape文件question_divider.xml ...
  • u013252711
  • u013252711
  • 2015年09月22日 11:17
  • 1124

Android—shape画虚线

横线:     android:shape="line" >                 android:centerX="5"         android:endCol...
  • weiguishan
  • weiguishan
  • 2015年07月28日 16:21
  • 510

Android shape画虚线,不显示或者显示是实线的解决方案

Android 的 shape可以用来实现一些简单的图像,如直线(实线、虚线)、圆、矩形、圆角矩形、边框等。 4.4以及以前的版本shape是能正常显示一条虚线的,最经碰到在5.0的手机上显示的是直...
  • u013361668
  • u013361668
  • 2016年06月27日 21:44
  • 5234
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用ActionScript画虚线
举报原因:
原因补充:

(最多只允许输入30个字)