我想知道 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 时也有同样的问题
请帮助我理解这些概念。
最佳答案
CCMoveTo 将您的节点移动到位置。 CCMoveBy 将您的节点移动一个像素。所有其他操作都是相同的。 示例:
CCNode *a = [[CCNode alloc] init];
[a setPosition:CGPointMake(100, 100)]; //our node starts at point (100, 100)
现在,如果您将它移动到 TO CGPointMake(200,200),他的位置将为 (200, 200)。但是如果你将它从 (100, 100) BY CGPointMake(200,200) 移动,它将是 (300, 300)。
关于cocos2d-iphone - Cocos2d中BezierBy和BezierTo的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629767/