addTarget: function () {
//var target = new cc.Sprite(res.Target_png);
var target = new TargetSprite(res.Target_png);
var size = cc.winSize;
var targetHalfWidth = target.width / 2;
var x = targetHalfWidth + (size.width - target.width) * cc.random0To1();
target.attr({
x: x,
y: size.height+target.height/2
});
//var dorpAction = cc.MoveTo.create(2, cc.p(target.x, -30));
var deltaX = cc.random0To1() * 500 * (Math.random()>0.5?1:-1);
var deltaY = -(200 + 200 * cc.random0To1());
//this.schedule(function () {
// target && (target.x + targetHalfWidth >= size.width || target.x - targetHalfWidth <=0) && (deltaX = -deltaX);
// var dorpAction = cc.moveBy(1, cc.p(deltaX, deltaY));
// target.runAction(dorpAction);
//}, 1, 16 * 1024, 1);
var dorpActionRepeatF = cc.RepeatForever.create(cc.Sequence.create(
cc.moveBy(1, cc.p(deltaX, deltaY)),
cc.CallFunc.create(function () {
target && (target.x + targetHalfWidth >= size.width || target.x - targetHalfWidth <= 0) && (deltaX = -deltaY);
}, this)
));
target.runAction(dorpActionRepeatF);
this.addChild(target, 5);
this.targetSprites.push(target);
}
```
为啥注释中的代码能生效,而下面的代码不生效?
我先写的注释中的,效果不是很理想,但起码碰到屏幕两侧还能变个方向,非注释中的根本就不能变方向
注释中的问题是碰到屏幕两侧的时候,那个距离不一定走完,所以不能马上回弹...我看到网上建议用非注释中的写法...虽然非注释中的写法也应该不能马上回弹