我一直在关注这个问题,因为不久前我问了一个 question一位用户友好地回复我解释说有 this plugin tool我可以使用它来创建快速贝塞尔曲线原型(prototype)。
我尝试并制作了这个:
我认为它会在这个 ccBezierConfig 中得到完美的翻译:
ccBezierConfig bezier;
self.position = CGPointMake(-10.0f, 400.0f);
bezier.controlPoint_1 = CGPointMake(160, 190.0f);
bezier.controlPoint_2 = CGPointMake(200, 190.0f);
bezier.endPosition =CGPointMake(340.0f,280.0f);
id bezierForward = [CCBezierBy actionWithDuration:3 bezier:bezier];
[self runAction: [CCSequence actions:
bezierForward, [CCHide action],
nil]];
不幸的是,我得到的路径并不像我所期望的那样安静。角色从屏幕左上角开始移动,然后向上移动,我没有看到预期的移动。
任何解释我做错了什么?
顺便说一句..我在 iOS 6.0 上使用 Cocos2d 2.0,视网膜显示 iPod touch 第 4 代。
编辑:
另一个例子..
我认为这个配置会像 this然后从头到尾做对称的事情,但是“颠倒”。
关于我做错了什么有什么建议吗?
ccBezierConfig bezier;
self.position = CGPointMake(0.0f, 150.0f);
bezier.controlPoint_1 = CGPointMake(-20.0f, 290.0f);
bezier.controlPoint_2 = CGPointMake(260, 290.0f);
bezier.endPosition =CGPointMake(340.0f,150.0f);
id bezierForward = [CCBezierBy actionWithDuration:3 bezier:bezier];
ccBezierConfig bezier2;
bezier2.controlPoint_1 = CGPointMake(340.0f, 10.0f);
bezier2.controlPoint_2 = CGPointMake(80, 10.0f);
bezier2.endPosition =CGPointMake(-20.0f,150.0f);
id bezierReturn = [CCBezierBy actionWithDuration:3 bezier:bezier2];
[self runAction: [CCSequence actions:
bezierForward, bezierReturn, [CCHide action],
nil]];
Best Answer-推荐答案 strong>
我使用的是 CCBezierBy,但示例基于 CCBezierTo 公式。因此,如果我使用 CCBezierTo 代替 CCBezierBy,一切都会按预期工作。
关于ios - cocos2d 2.x : understanding ccBezierConfig beheaviour,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/14589474/
|