使用repeat+sequence+moveto做动作(震动效果),希望最终位置不变。每次播完位置都会有细微的变化。
(原来是用moveby做,也是有偏差,就试着用moveto,结果还是一样)。
在首尾打印了位置,每次执行位置是对的,但是再次执行位置就不对。
代码如下:
cc.log(this.node.position.toString());
var ox1 = this.node.x + ox;
var oy1 = this.node.y + oy;
var ox2 = this.node.x - ox;
var oy2 = this.node.y - oy;
var ox3 = this.node.x;
var oy3 = this.node.y;
var repeat = cc.repeat(
cc.sequence(
cc.moveTo(t / 4, cc.p(ox1, oy1)),
cc.moveTo(t / 2, cc.p(ox2, oy2)),
cc.moveTo(t / 4, cc.p(ox3, oy3)),
), this.duration);
this.node.runAction (repeat);
cc.log(this.node.position.toString());
结果:
第一次:
(-400.00, 100.00)
(-400.00, 100.00)
第二次:
(-400.27, 99.73)
(-400.27, 99.73)
第三次:
(-400.67, 99.33)
(-400.67, 99.33)
=============
补充,又试了下,浏览器会出现比较大偏移,模拟器比较不会
还有个问题 sequence可以加回调判断播完,repeat怎么判断播完呢?
==============
另外一个问题,label用resizehight的时候,在模拟器宽度会失效,每行只显示一个字,变成竖排的了。
懒得另外开主题,顺便在这里问一下
1.2.1rc1,win版本
