bug修正
看了半天也没看出来运动轨迹到底是怎么样的囧,不过既然有源码了,就抄爆吧
jumpToPoints(frames, startPosition, endPosition, height, jumps) {
let points = [];
let delta = cc.Vec2.ZERO;
delta.x = endPosition.x - startPosition.x;
delta.y = endPosition.y - startPosition.y;
for (let frame = 0; frame < frames; frame += 1) {
// dt = this._computeEaseTime(dt); // 不ease
var dt = (frame + 1) / frames;
var frac = dt * jumps % 1.0;
var y = height * 4 * frac * (1 - frac);
y += delta.y * dt;
var x = delta.x * dt;
var locStartPosition = startPosition;
x = locStartPosition.x + x;
y = locStartPosition.y + y;
points.push(cc.v2(x, y));
}
return points;
},
在 Helloworld 中测试:
onLoad: function () {
this.points = this.jumpToPoints(120,
this.label.node.getPosition(),
cc.v2(100, 100),
100,
4);
this.jumpIndex = 0;
},
update: function (dt) {
let pos = this.points[this.jumpIndex];
if (pos) {
cc.log(pos.x, pos.y);
this.jumpIndex += 1;
this.label.node.x = pos.x;
this.label.node.y = pos.y;
}
},