【问题标题】:Cocos2d Jump Animation & MovingCocos2d 跳跃动画和移动
【发布时间】:2013-09-18 02:55:37
【问题描述】:

到目前为止,我可以使用 Cocos2d 中的按钮来控制精灵的左右移动。我现在正在尝试加入一个跳跃动画,但我完全不知道如何做到这一点。我尝试了一个示例代码,它利用了 init 方法并结合了动画(向上和向下跳),但是每当我试图在精灵跳跃时移动它时,我都会收到 SIGABRT 错误。请注意,我对 Cocos2d 非常缺乏经验,如果能指导我完成制作成功的跳跃动画的步骤,将不胜感激。

【问题讨论】:

  • 为了获得跳跃动作,你用了什么?有没有用什么动作??喜欢 CCJump?
  • 您可以使用 CCJumpTo 或 CCJumpBy 动作获得跳跃效果。
  • @Renaissance 这是我的确切代码:id jump_Up = [CCJumpBy actionWithDuration:1.0f position:ccp(0, 200) height:50 jumps:1]; id jump_Down = [CCJumpBy actionWithDuration:0.7f position:ccp(0,-200) height:50 jumps:1]; id seq = [CCSequence actions:jump_Up,jump_Down, nil]; [sprite runAction:seq];
  • @Renaissance 该代码只允许我上下跳跃,而不会检测到撞到地面或任何其他物体。这是一个设置动画,不允许我让精灵向右或向左移动,或者让我相对于地面跳跃(我也不知道该怎么做)。
  • 你给出的代码,精灵会在 1.7 秒后回到它的位置。

标签: animation cocos2d-iphone xcode4.6.3


【解决方案1】:

CCJumpBy 模拟抛物线跳跃运动。

id jump_Up = [CCJumpBy actionWithDuration:1.0f position:ccp(0, 200) height:50 jumps:1];

运行上述 jump_Up 动作会将精灵的位置沿 x 轴移动 '0' 距离,沿 y 轴移动 '200' 单位,并将沿抛物线路径移动精灵。

如果您希望在跳跃时向右或向左移动精灵。试试下面的..

CGPoint newPosition = ccp(max(sprite.position.x + screenSize.width * 0.2f,screenSize.width), sprite.position.y);
id jumpAct = [CCJumpBy actionWithDuration:1.0f position:newPosition height:50 jumps:1];
[sprite runAction:jumpAct];

【讨论】:

  • 非常感谢,但不幸的是我真的很想做我的
  • @Pizzy213codes 对不起.. 没听懂.. 你真的想做你的吗?
【解决方案2】:

只是一个快速更新——随着 Cocos2D 的 V3 版本,方法现在是 CCActionJumpBy。所以它是这样的......

CCActionJumpBy *jump = [CCActionJumpBy actionWithDuration:1.0f position:ccp(0, 200) height:50 jumps:1];
[_yourSpriteObject runAction:jump];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 2017-10-21
    相关资源
    最近更新 更多