游戏实例来自《Cocos2d-x游戏开发之旅》,作者主页:http://www.benmutou.com/
上一篇文章中,实现了地图的无限滚动,那么接着我们创建一个Jump按钮,让主角可以跳起来。
效果图:
1.CCControl的应用——创建跳跃按钮
- TollgateScene.h代码:(别忘了引入cocos-ext.h头文件)
我们要给TollgateScene添加两个函数,如图:
- TollgateScene.cpp修改部分代码:
- (要记得在init中加上createJumpBtn().)
两个函数很简单,createJumpBtn负责创建一个按钮,并且监听按钮的一个点击事件,在单击事件jumpEvent中调用主角的jump函数,那么接下来我们来定义主角的jump函数。
2.给主角添加跳跃动作
player.h代码:
player.cpp中添加:
(1)jump函数:负责创建一个CCJumpBy动作,主角只要执行该动作即可跳起来,因为要原地跳起来,所以制定跳跃目标为(0,0),跳跃高度为150
(2)m_isJumping变量:避免大家太过紧张,单击jump按钮的频率过快而导致主角CCJumpBy动作还没执行完,下一个动作就开始执行,我们给主角一个跳跃标记,标记主角是否正在跳跃。如果主角正在跳跃,则不执行新的跳跃动作。
(3)jumpEnd函数:跳跃动作结束后,恢复主角的跳跃标记状态。
另外,本来主角的跳跃不应该使用CCJumpBy的,因为这样会导致一些麻烦,而且也不太利于扩展,但是为了演示Cocos2d-x的动作类的使用,还是把它用上了。