Flex 使用curveTo画跟随鼠标改变的曲线

 

    Flex 中curveTo描绘的结果,如下图,

    三角形ABC中平行于底边AB的弧AFB的切线切点为F

    而切点F与AB的垂直距离始终保持为1/2 CD'

    所以如图把鼠标点作为控制点则曲线永远不能与鼠标点重合.

    

    但因为CF的延长线交AB于E点,经测试且E点为AB的中点,

    

    通过以上数据,得出只要把EC延长2倍,用所得的端点作为控制点,则可实现曲线将与鼠标点重合.

    

  1.         //    startPoint      A
  2.         //    endPoint        B
  3.         //    
  4.         //  求线段中点    
  5.         var p:Point = C;
  6.         var m:Point = Point.interpolate(startPoint, endPoint, 0.5);
  7.         //    端点
  8.         var xT:Number = m.x - p.x;
  9.         var yT:Number = m.y - p.y;
  10.         
  11.         graphics.moveTo(startPoint.x, startPoint.y);
  12.         graphics.curveTo(p.x-xT, p.y-yT, endPoint.x, endPoint.y);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值