Cocos2d提供了两种让玩家跳起来的方法,但是通过使用jumpto()和jumpby(),人们在跳跃时不能再改变精灵的位置。
如何编写一个方法,以便精灵可以像“超级马里奥”一样跳跃?
答案 0 :(得分:2)
前段时间我提供了一些cocos2d代码,使CCMove
和CCJump
动作可以叠加。见here。从cocos2d 2.1开始,您可以与其他动作同时应用CCJump
个动作。
但是,如果你想深入调整游戏控件的感觉,我会完全避免使用CCActions
,并且我会通过处理玩家输入直接管理sprite.position
。
答案 1 :(得分:-1)
你必须检查两个条件才能使你的玩家跳起来,就像在超级马里奥一样。
条件1) 在CCJumpTo动作中,此时仅按下跳转按钮,您必须将下一个位置作为当前位置,高度和否。跳得像。
id jump = [CCJumpTo actionWithDuration:1 position:ccp(player.position.x, player.position.y)) height:20 jumps:1];
条件2) 当在CCJumpTo动作中按下跳转和前进按钮时,你必须将下一个位置作为当前位置x +你要通过跳跃覆盖的距离,这将是所有时间,高度和否的静态。跳得像。
id jump = [CCJumpTo actionWithDuration:1 position:ccp(player.position.x+20, player.position.y)) height:20 jumps:1];
最后你必须对玩家进行跳跃动作,希望你发现这是你问题的解决方案...... !!