主题:  请问大家如何用ACTION实现画一段指定长度的直线?

yelli

职务:普通成员
等级:1
金币:0.0
发贴:6
#12001/12/23 1:26:05
请问大家如何用ACTION实现画一段指定长度的直线?
我的方法是用一个MC里画width:100PIX的线,然后我用ACTION来控制他的_xscale从而达到指定的长度,但是会有好多问题,比如线放大会变厚等。
有谁有好的其他方法吗,谢谢~~~



孤魂野鬼

职务:普通成员
等级:2
金币:1.0
发贴:352
#22001/12/23 13:33:45
在后面再设置一个宽度的语句不就是了!



hacker hacking

职务:普通成员
等级:4
金币:10.0
发贴:1629
#32001/12/24 10:44:36
为什么要用as呢
用shape 形变不好吗?



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#42001/12/24 11:11:05
line._width=n;
line._rotation=m;




vital

职务:普通成员
等级:1
金币:10.0
发贴:194
#52001/12/24 11:43:33
线选成hairline



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#62001/12/24 11:54:14
我曾经是过,hairline如果放大了也是会有细微宽度的变大的,不过不是那么明显。如果你画的直线是水平的话,而且你想要的效果也是水平直线的话,就.width控制宽度就可以了,如果你不要水平直线的效果的话,建议你将之先摆成45度角!加上rotation这样会更好控制!

编辑历史:[这消息被桃人编辑过(编辑时间2001-12-24 11:55:03)]


yelli

职务:普通成员
等级:1
金币:0.0
发贴:6
#72001/12/31 14:26:51
thanks,我改成hairline就好了,不太明显。
桃人:如果你不要水平直线的效果的话,建议你将之先摆成45度角!加上rotation这样会更好控制!
为什么,有这必要吗?否这._rotation不是要另加上45,多麻烦??



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#82001/12/31 22:54:08
赫赫~~没关系啦!你真正用到的时候,你就自然能够体会到45度的好处了~~
不过,只要问题解决就好了!



rusheagle

职务:普通成员
等级:1
金币:0.0
发贴:17
#92002/1/3 20:25:40
用flash绘制线条

首先新建一个mc名字叫line,里面包含了一根属性为hairline的细线,(在strike属性栏里),这根线一个非常重要的特点是,开始坐标在0,0,结束坐标为100,100

为什么要这样做呢?因为这样,我们就可以很方便的将他缩放成我们想要的高度和宽度。

举个例子:我们想得到一条起点坐标在70,60,结束坐标在150,240的线条。我们就可以把这个mc放到70,60的坐标上,然后修改它的缩放值。将x的坐标值结束点减去开始点,y的坐标值结束点减去开始点,我们就得到150-70=80(x),240-60=180(y),很方便的,我们利用百分比进行缩放工作:100是正常值,50是一半,200是2倍,等等,诸如此类。我们只需要将我们刚刚计算出来的值80,180设置为这个mc的_xscale值和_yscale值,现在这根线的结束坐标就是150,240了,很简单。


呵呵,今天刚好学到这个,翻译了这篇文章,应该有用吧



yelli

职务:普通成员
等级:1
金币:0.0
发贴:6
#102002/1/4 12:10:19
如何才能够体会到45度的好处呢?
本人才识疏浅,能不能举例说明一下,谢谢。



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#112002/1/4 19:03:37
赫赫~~对不住,我不是那个意思啦!向你道歉!
源文件已经给你发过去了,注意那个连接眼睛和鼠标的直线,在mc里面的初始位置是45(或30或60)度角这样的角度在计算时会很有帮助!

编辑历史:[这消息被桃人编辑过(编辑时间2002-01-04 19:09:07)]


yelli

职务:普通成员
等级:1
金币:0.0
发贴:6
#122002/1/6 12:50:21
受益非浅,谢谢版主。



金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
#132002/1/6 15:13:02
桃人在上个帖子中说
引用:
赫赫~~对不住,我不是那个意思啦!向你道歉!
源文件已经给你发过去了,注意那个连接眼睛和鼠标的直线,在mc里面的初始位置是45(或30或60)度角这样的角度在计算时会很有帮助!



真的有好处吗,关于flash画线的程序我不知道做过多少了,但从来还没有遇到要倾斜45都才行的理论,还是0度的才是最好用,转起来方便


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER

5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#142002/1/6 15:50:49
to:goldgoat 我明白你用的那种方法~
var r=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
var rota=math.atan2(y2-y1, x2-x1)*180/Math.PI;
然后,r是距离,rota是角度,可简单是简单,但是问题不在这里呀!如果两点之间的距离的长,线变粗的问题还是没有解决呀!
如果设置三个量,加上_xcale,_ycale,和_rotation就不会发生这种问题了!我说的是这个意思。不知你还有什么其他好的办法?

编辑历史:[这消息被桃人编辑过(编辑时间2002-01-06 15:52:01)]


金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
#152002/1/6 16:47:11
如果用极细线的话,我试过了,如果线不超过2000的话,线不会明显变粗
但如果超过了2000,我们就要多加几句让几段线连成一条
或直接用2000代替(因为很少有flash会做的这么大,超过2000的线必然有一端或两端在flash的外边不能看到,就不必理会它了)


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER