当玩家跳跃时,如何使用左右按钮改变玩家的位置



Cocos2d提供了两种让玩家跳起来的方法,但通过使用jumpto()和jumpby(),当精灵跳起来时,人们无法再改变它的位置。

如何编写一个方法,使精灵可以像"超级马里奥"一样跳跃?

不久前,我贡献了一些cocos2d代码,使CCMoveCCJump操作可以堆叠。请参见此处。从cocos2d2.1开始,您可以同时应用CCJump动作和其他动作。

然而,如果你想深入调整游戏控件的感觉,我会完全避免使用CCActions,我会通过处理玩家输入直接管理sprite.position

你必须检查两个条件才能让你的玩家跳跃,就像在《超级马里奥》中一样。

条件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];

最后,你必须对玩家进行跳跃动作,希望你能找到这个解决方案。。。!!

相关内容

最新更新