flash sin 弧线运动轨迹

本文介绍了如何利用弧线运动原理在Flash中实现两个物体通过曲线路径互换位置的动画效果,包括具体实现步骤、关键函数定义及参数解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个物体通过弧线运动互换位置

swapPosition(a,b,5,-50); //横坐标比较大的对象运动轨迹(向着坐标比较小的对象处移动) function movingByArc(object:MovieClip,disX:Number,k:Number,isPositionLarger:Boolean,speed:Number) { var i:Number = 0; var x0:Number = object.x; var y0:Number = object.y; object.addEventListener(Event.ENTER_FRAME,onEventFunction); //开始沿着sin线运动 function onEventFunction(e:Event):void { //如果互相交换到位,停止运动 if (Math.abs(i) == 180) { object.removeEventListener(Event.ENTER_FRAME,onEventFunction); } var xx = x0 + i / disX; var yy=y0-Math.sin(i*Math.PI/180)*k; object.x = xx; object.y = yy; //坐标大小不同运动轨迹就不同 if (isPositionLarger) { i -= speed; } else { i += speed; } } }          function swapPosition(ob1:MovieClip,ob2:MovieClip,speed:Number,k:Number):void { //var k:Number = 50;//y轴幅度大小 var disX=180/Math.abs((ob1.x-ob2.x));//x轴大小幅度 if (ob1.x > ob2.x) { movingByArc(ob1,disX,k,true,speed); movingByArc(ob2,disX,k,false,speed); } else { movingByArc(ob1,disX,k,false,speed); movingByArc(ob2,disX,k,true,speed); } }

 

转载于:https://www.cnblogs.com/flashweb/p/3526057.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值