curveTo动态查找曲线点

时间:2010-09-16 11:44:32

标签: flash actionscript-3 math drawing curve

我的数学知识从未如此广泛,所以这可能是一个简单的问题,但我不太确定。

基本上我正在使用curveTo函数为飞行路径绘制一些线条,我不确定如何动态找到曲线点,例如,如果你看一下ryan air site:{{3所有的线都很好地弯曲。

current_line.graphics.curveTo(curveX, curveY, map.mouseX, map.mouseY);

我需要找到curveX和curveY

如果您需要更多信息,请发表评论,我会回答您的任何问题。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话,我可以给你一个可能的答案,尽管这很简单。我假设您想要了解如何在两点之间自动绘制曲线,以避免在两点之间获得直线。所以你需要计算控制点的位置。

一种简单的方法是只使用起点和终点的y位置在y轴上找到它们之间正好一半的点,然后为其添加一些任意值,并将其用作curveTo函数中的控制点。您可以通过获取线条长度的百分比来计算要添加的值,以便每条曲线看起来都类似于曲线。

这对于飞行路径类型应用是有意义的,因为所有曲线都会向上弯曲,模仿飞机路径的绘制方式。如果你没有看到我的意思请告诉我,我会给你一个简单的实例数字示例。这甚至可能不是你要求的!

编辑x4:

似乎直接在答案框中编码并不是一个好主意:P这是正确的工作方式:

CS4版本: http://dl.dropbox.com/u/3987391/AutoCurve.fla

CS3版本: http://dl.dropbox.com/u/3987391/AutoCurve-CS3.fla

如果您还有问题,请告诉我们!

得不