正在制作一个循环绕圈圈的动画,但是程式执行第一圈时可以正常绕行一圈,第二圈转弯时就会出现问题,不会照着第一圈的路径跑,请问有人遇过这个问题吗?
代码如下:
let horse1_PosX = [-140,290,382,382,286,-270,-355,-355,-265];
let horse1_PosY = [105,105,70,-80,-137,-137,-90,65,113];
var bezier = [cc.v2(horse1_PosX[1], horse1_PosY[1]), cc.v2(383, 100), cc.v2(horse1_PosX[2], horse1_PosY[2])];
var bezier2 = [cc.v2(horse1_PosX[3], horse1_PosY[3]), cc.v2(370, -145), cc.v2(horse1_PosX[4], horse1_PosY[4])];
var bezier3 = [cc.v2(horse1_PosX[5], horse1_PosY[5]), cc.v2(-360, -125), cc.v2(horse1_PosX[6], horse1_PosY[6])];
var bezier4 = [cc.v2(horse1_PosX[7], horse1_PosY[7]), cc.v2(-350, 135), cc.v2(horse1_PosX[8], horse1_PosY[8])];
//
var Action1 = cc.moveTo(2,horse1_PosX[1],horse1_PosY[1]);
var Action2 = cc.bezierTo(0.75,bezier);
var Action3 = cc.moveTo(1.5,horse1_PosX[3],horse1_PosY[3]);
var Action4 = cc.bezierTo(0.9,bezier2);
var Action5 = cc.moveTo(2,horse1_PosX[5],horse1_PosY[5]);
var Action6 = cc.bezierTo(0.9,bezier3);
var Action7 = cc.moveTo(1.5,horse1_PosX[7],horse1_PosY[7]);
var Action8 = cc.bezierTo(0.9,bezier4);
var Action9 = cc.moveTo(1,horse1_PosX[0],horse1_PosY[0]);
start () {
node_horse.active = false;
node_horse.x = -415;
node_horse.y = 100;
testHorse = cc.instantiate(node_horse);
testHorse.parent = node_bg;
testHorse.name = "TempHorse";
testHorse.active = true;
testHorse.x = horse1_PosX[0];
testHorse.y = horse1_PosY[0];
testHorse.getComponent(cc.Animation).play("Horse");
//繞行一圈點擊該物件再跑一次runAction
testHorse.on('touchend',this.restarRun);
testHorse.stopAllActions();
testHorse.runAction(
cc.sequence(
Action1,Action2,Action3,Action4,Action5,Action6,Action7,Action8,Action9),
);
},
restarRun(){
testHorse.x = horse1_PosX[0];
testHorse.y = horse1_PosY[0];
testHorse.stopAllActions();
testHorse.runAction(
cc.sequence(
Action1,Action2,Action3,Action4,Action5,Action6,Action7,Action8,Action9),
);
},