x轴方向四阶赛贝尔蛇形滑动

//by冉遗鱼…

//x轴方向四阶赛贝尔蛇形滑动
//例如 moveFun(126,1442,130,1442+random(-10,10),4000);
function moveFun(qx, qy, zx, zy, time) {
var xxy = [];
var points = [];
let offset= zx
//设置控制点极限距离
var leaveHeightLength=500

var point1 = {
    "x": qx,
    "y": qy
};

//根据偏差距离,应用不同的随机方式
if(Math.abs(zx-qx)>Math.abs(zy-qy)){
    var my=(qy+zy)/2
    var y2=my+random(0,leaveHeightLength)
    var y3=my-random(0,leaveHeightLength)

    var lx=(qx-zx)/3
    if(lx<0){lx=-lx}
    var x2=qx+lx/2+random(0,lx)
    var x3=qx+lx+lx/2+random(0,lx)
}else{
    var mx=(qx+zx)/2
    var y2=mx+random(0,leaveHeightLength)
    var y3=mx-random(0,leaveHeightLength)

    var ly=(qy-zy)/3
    if(ly<0){ly=-ly}
    var y2=qy+ly/2+random(0,ly)
    var y3=qy+ly+ly/2+random(0,ly)
}

var point2 = {
    "x": x2,
    "y": y2
};
var point3 = {
    "x": x3,
    "y": y3,
};
var point4 = {
    "x": zx,
    "y": zy
};


points.push(point1);
points.push(point2);
points.push(point3);
points.push(point4);

let targetP;
for (let i = 0; i < 1; i += 0.08) {
    targetP=bezier_curves(points, i);
    xxy.push([parseInt(targetP.x), parseInt(targetP.y)]);
}

let touch1 =[];
let  _time=time/xxy.length;

touch1.push({"action": 0, "x": xxy[0][0], "y": xxy[0][1], "pointer": 1, "delay": _time})
for (let i = 1; i <xxy.length-1 ; i++) {
    touch1.push({"action": 2, "x": xxy[i][0], "y": xxy[i][1], "pointer": 1, "delay": _time})
}



touch1.push({"action": 1, "x": xxy[xxy.length-1][0], "y": xxy[xxy.length-1][1], "pointer": 1, "delay": _time})

let x = multiTouch(touch1, null, null, 30000);
logd("群主鸟最大 " + x);

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值