Cocos2d 2.x:理解ccBezierConfig beheaviour
我在这一段时间以前我问了一个问题 ,一位用户好心地回答我解释说有这个插件工具可以用来创建快速bezier曲线原型。
我试过并制作了这个:
我认为这将完美地翻译在这个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代。
编辑:
另一个例子..
我认为这种配置会像这样做,然后从最后到开始做对称的事情,但是“颠倒”。
关于我做错什么的任何建议?
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]];
我使用的是CCBezierBy,但这些示例基于CCBezierTo公式。 因此,如果我使用CCBezierTo实例化CCBezierBy,一切都会起作用。