我想知道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
时也遇到同样的问题请帮我解释这些概念。
答案 0 :(得分:5)
CCMoveTo将您的节点移动到位置。 CCMoveBy将您的节点移动到sone像素。所有其他行动都是一样的。 示例:
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)。