小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

继续上一篇的简易动作游戏,本篇加入主角的跳跃,以及在跳跃过程中的碰撞检测,在动作游戏中跳跃是很重要的部分,首先来看效果:

首先是需要在操作的部分作修改,首先来看ccTouchesBegan函数的修改:

在之前对x轴运动的判断基础上,加入了对y轴的操控部分,即以主角的中心的水平线为基准,按键在此基准线之下的仅水平移动,即将y轴的初始速度设为0,在基准线之上的就会跳起来,即把y轴初始速度设为6(向上的初速度),而水平速度则取决于之前的判断,这里需要注意的还是之前的问题,就是我们获得的主角的x,y坐标是相对于地图的坐标,我们要获得他和屏幕的绝对位置的坐标还要加上地图的坐标。

下面来看处理纵坐标碰撞函数部分的修改,来看playermapvcollision函数:

首先加入判断,在我们发现主角踩在碰撞块上的时候只有当速度小于0,主角处于下降状态的时候,我们才作停止物体运动,矫正位置等处理,因为上升的过程中作碰撞处理会使我们的人物跳不起来(因为我们的人物一直踩在碰撞块上),当脚下没有碰撞块时每帧给y轴方向的速度减0.2,这是我调过的结果,我觉得这样的跳跃动作速度比较合理。这里还需要注意的是,我修改了vmove的类型,变为double型,让他可以存储小数值,使我们的跳跃速度更精确,这时候,上升下降的动作变为匀减速和匀加速运动。

如有错误之处,希望大家多多指正

下一篇继续简易动作游戏实例

cocos2d-x游戏实例(26)-简易动作游戏(4)相关推荐

  1. cocos2d-x游戏实例(28)-简易动作游戏(6)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 本篇继续简易动作游戏实例,本篇加入简单血量条u ...

  2. cocos2d-x游戏实例(27)-简易动作游戏(5)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 继续简易动作游戏实例,本篇加入小怪并且加入小怪 ...

  3. cocos2d-x游戏实例(25)-简易动作游戏(3)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 本篇进行垂直方向上的碰撞检测,测试的方法就是把 ...

  4. cocos2d-x游戏实例(24)-简易动作游戏(2)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 继续上一篇动作游戏的实例,加入左右边界的碰撞, ...

  5. cocos2d-x游戏实例(23)-简易动作游戏(1)

    小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 从本篇开始,开始一个简单的动作类游戏的实例,本 ...

  6. Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 2

    本文是"使用Cocos2D 3.x开发横版动作游戏"系列教程的第二篇,同时也是最后一篇.是对How To Make A Side-Scrolling Beat Em Up Game ...

  7. 【ThinkGame】我对动作游戏的思考,以及一个游戏程序能为动作游戏做什么?

    终于,我决定进入游戏行业,并踏进去了一只脚. 2019年的游戏<只狼>,让我看到了东方文化在动作游戏中的完美诠释,中国本应可以在以东方文化为卖点的电子游戏行业中大放光彩,却因为不可抗的力量 ...

  8. python迷宫小游戏代码_pygame简易迷宫游戏_mask应用示例程序

    用pygame制作的迷宫小游戏.像这类碰撞检测用mask最好.下面是部分代码预览: """ 简易迷宫游戏.本程序演示一个非常简单的迷宫游戏原理. 采用mask进行碰撞检测 ...

  9. 游戏设计之我见 —— 动作游戏中敌人的受击设计

    这篇博客结合一些游戏案例,介绍了3D动作游戏中敌人的受击设计. 在动作游戏中,由于玩家与敌人在一直进行不停地攻防博弈,因此为了给予玩家正切且适当的攻防反馈,需要着重设计敌人受伤以及死亡的设计. 受伤反 ...

最新文章

  1. AI 岗位年薪下降 8.9%,程序员越“老”越吃香,最新薪酬报告发布!
  2. ssh 连接_怎样解决Linux环境下远程连接ssh速度慢的问题
  3. MySQL 数据库的操作 连接、新增、删除、选择数据库 命令行(带图)
  4. mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations配置映射文件时的区别
  5. 设计 Redis Key
  6. machinery入门看这一篇(异步任务队列)
  7. 跳楼机[DP+spfa]
  8. word打开文档很久很慢_word文档 excel文档打开速度比较慢怎么办
  9. 安装ROS中出现bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录或者bash: /opt/ros/kinetic/setup.bash:的解决办法
  10. 个人空间岁末大回报活动12月21日获奖名单
  11. 高考数学必考知识点高中数学重点知识归纳
  12. Spring源码解析(五)-Bean的实例化流程(上)
  13. 你天天努力的碎片化学习,为什么还在每天挤地铁?
  14. 求某学生8门课的平均分
  15. iOS获取局域网的IP
  16. 《看不见的森林:林中自然笔记》书摘二
  17. shell脚本IFS的概念
  18. 20169220 网络攻防实践 第二周学习总结
  19. 什么是语义化标签,常见的语义化标签介绍
  20. [SMOJ1810]基因测试

热门文章

  1. jwt:token的解析
  2. Linux环境下安装Redis
  3. 什么是Eureka注册中心
  4. spring配置详解-模块化配置
  5. mac 由于网络问题,您已断开与 windows 计算机的联接.,苹果电脑启用windows系统时连接不上无线网怎么处理?...
  6. ds18b20温度传感器 lcd C语言,基于AVR单片机的18B20温度传感器及LCD显示的C语言程序设计...
  7. 【干货】仪器仪表常用术语汇总
  8. iOS SAX解析XML
  9. 解决 SQLSERVER 2008 无法删除作业
  10. WebSphere应用程序服务器Web容器设置