cocos2dx贝塞尔曲线--使用PS辅助规划动作路径
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
Size size = Director::getInstance()->getVisibleSize();
Sprite* target = Sprite::create("bang.png");
target->setAnchorPoint(Point(0.5, 0.5));
target->setPosition(Point(size.width/4, size.height*3/4));
addChild(target);
Point start_pos = target->getPosition();
Point end_pos = Point(size.width*3/4, size.height/4);
ccBezierConfig config;
config.controlPoint_1 = start_pos + Point(-92, -220);
config.controlPoint_2 = start_pos + Point(313, -30);
config.endPosition = end_pos;
BezierTo* bezier = BezierTo::create(10, config);
target->runAction(bezier);
return true;
}
使用PS的钢笔工具点出start_pos和end_pos(点出不要松开拖动,出现调整点)。
使用钢笔工具的转换点工具拖动两个调整点,调整到想要的曲线。
然后量出两个调整点和起点的相对距离(如图所示)。