BezierBy和BezierTo在Cocos2d中的区别?

use*_*079 3 cocos2d-iphone cocos2d-android

我想知道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);
Run Code Online (Sandbox Code Playgroud)

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

请帮我解释这些概念.

Sen*_*neL 5

CCMoveTo将您的节点移动到位置.CCMoveBy将您的节点移动到sone像素.所有其他行动都是一样的.例:

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

现在,如果你把它挪走TO CGPointMake(200,200),他的位置将是(200,200).但是,如果你从它(100,100)移动BY CGPointMake(200,200),这将是(300,300).