是使用精灵构建器和cocos2d的新手。
我已经使用sprite builder及其时间轴运行了sprite continuos。即英雄精灵将在应用程序启动后连续运行,如寺庙游戏。
如果用户点击屏幕,这个精灵应该跳转。 Am struct实现了如何使我的运行精灵跳到屏幕上跳跃?
下面是我在touchBegan中编写的代码,用于让我的精灵跳转。在这里,我需要将此运行动画与精灵跳转动画合并。任何建议和帮助都将非常有用。
[_hero.physicsBody applyImpulse:ccp(0, 400.f)];
答案 0 :(得分:0)
我这样做的方法是使用typedef枚举来设置一组将存储字符状态的变量。在Definitions.h类中进行设置。然后,在您的hero类中,添加一个将使用switch语句来更改状态的方法。例如,如果传入了jumpState并且当前状态是runState,则该方法将状态更改为jumpState并运行名为jumpAnim的方法。然后,您可以在JumpAnim中编写动画代码或从spritebuilder加载它。
然后,在您的游戏玩法最终确定的另一个类中,将其称为GamePlay图层,这是您的touchBegan方法所在的位置。在GameplayLayer.h中,设置一个CCTime变量来存储跳跃的值,你的向上跳跃动画运行多长时间。
在touchBegan方法中,您可以将状态更改为跳转并重置jumpTimer。
然后,在您的更新方法中,调用updateHero方法。 updateHero将有一个if语句 - 如果英雄状态是jumpState,则将他向上移动3个点,直到jumpTimer用完为止。计时器用完后,将状态更改为fallingState。下降状态也应该在您的角色类的switch语句中。
希望这有帮助