|
主题: 我找到了一个两点拖动的fla,谁能帮忙改一下?
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
#12001/8/16 11:58:35
演示地址: go4.163.com/fierce/10.swf 源文件下载:谁能帮忙改成两点拖动,而且线的长度不会变 两个拖动点可以被线拉拽
编辑历史:[这消息被冷语编辑过(编辑时间2001-08-16 17:14:35)]
|
 Demon.S
职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
|
#22001/8/16 12:09:24
setProperty ("newLine1", _xscale, getProperty("02", _x)-getProperty("01", _x)); setProperty ("newLine1", _yscale, getProperty("02", _y)-getProperty("01", _y));
这里是关键,这种scale方法比较简单,但是无法做复杂的变形...
谁能帮忙改成两点拖动,而且线的长度不会变 两个拖动点可以被线拉拽
这个用scale方法是做不了的,得用我上次说的那种象限算法方法
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
#32001/8/16 12:28:52
能把内核写出来让我看看么? 我还是不太明白
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
注册:2003/11/27 18:07:11
|
#42001/8/16 14:47:31
画魔在上个帖子中说 引用: setProperty ("newLine1", _xscale, getProperty("02", _x)-getProperty("01", _x)); setProperty ("newLine1", _yscale, getProperty("02", _y)-getProperty("01", _y)); ……
呵呵,这就是用修改scale的方式来实现连接两点的算法
|
 5D荣誉斑竹
职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
|
#52001/8/16 16:03:00
我不懂ac的语法,下面是思路
要求出直线的长度,line.xy=((01.x-02.x)的平方+(01.y-02.y)的平方)的平方根
定义固定长度c
if (line.xy>c) then 定义超出长度的百分比:p=c/line.xy; 02点的x坐标:02.x=01.x-(01.x-02.x)*p; 02点的y坐标:02.y=01.y-(01.y-02.y)*p;
然后再画线 setProperty ("newLine1", _xscale, getProperty("02", _x)-getProperty("01", _x)); setProperty ("newLine1", _yscale, getProperty("02", _y)-getProperty("01", _y));
以上是移动01时的算法,移动02也同理 好象可以精简一点,太复杂了
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
|
 5D荣誉斑竹
职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
|
#92001/8/17 1:14:30
能说说算法吗?
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
注册:2001/4/5 20:04:37
|
|