3

我想知道 BezierBy 和 BezierTo 之间的区别。如果说这是这种情况,下面的代码会发生什么

     CCBezierConfig bezier = new CCBezierConfig();


     // Bezier curve  
     bezier.controlPoint_1 = CGPoint.make(1002.0f,475.0f);
     bezier.controlPoint_2 = CGPoint.make(454.0f, 281.0f);
     bezier.endPosition = CGPoint.make(-20.0f,490.0f);

     CCBezierBy by = CCBezierBy.action(100, bezier);
     CCBezierTo to = CCBezierTo.action(2, bezier);

     CCCallFuncN actionMoveDone = CCCallFuncN.action(this,"spriteMoveFinished");
     CCSequence actions = CCSequence.actions(by, actionMoveDone);

     obstacle1.runAction(actions);

在理解 moveTo 和 moveBy 方面也有同样的问题

请帮助我了解这些概念。

4

1 回答 1

5

CCMoveTo 将您的节点移动到位置。CCMoveBy 将您的节点移动为单像素。所有其他动作都是一样的。例子:

CCNode *a = [[CCNode alloc] init];
[a setPosition:CGPointMake(100, 100)]; //our node starts at point (100, 100)

现在,如果你将它移动CGPointMake(200,200),他的位置将是 (200, 200)。但是,如果您将它从 (100, 100) BY CGPointMake(200,200) 移动,它将是 (300, 300)。

于 2012-05-17T05:53:39.257 回答