位置: 编程技术 - 正文

cocos2d-x游戏实例(24)-简易动作游戏(2)(cocos2dx游戏案例)

编辑:rootadmin

推荐整理分享cocos2d-x游戏实例(24)-简易动作游戏(2)(cocos2dx游戏案例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2d游戏源码,cocos2dx游戏有哪些,cocos2dx小游戏,cocos2d rpg,cocos2d rpg,cocos2dx游戏案例,cocos2dx游戏开发教程,cocos2dx小游戏,内容如对您有帮助,希望把文章链接给更多的朋友!

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址 layer = map->layerNamed("logic");//获得相应的地图层

int tilegid = layer->tileGIDAt(playerindex);//获得GID

CCMutableDictionary<string,CCString *> *tiledic = map->propertiesForGID(tilegid);//获得属性键&#;对

CCString *mvalue = tiledic->objectForKey("collion");//获得属性colloion

int mv = mvalue->toInt();//转为整型数&#;

整体的判断水平碰撞函数playermaphcollision如下:

cocos2d-x游戏实例(24)-简易动作游戏(2)(cocos2dx游戏案例)

首先是获得主角的站立位置,主角宽高,然后获得地图对象,之后便是一个for循环,这个for循环是从主角的脚底遍历到头顶的纵坐标&#;,然后就是对应纵坐标&#;和横坐标&#;,除以图素的宽高,获得对应地图的索引坐标,由于我们要分别检测左侧和右侧的碰撞,所以相应的横坐标也就不同

获得左侧横坐标:indexx = (playerpoint.x - palyersize.width / 2) / map->getTileSize().width;

获得右侧横坐标:indexx = (playerpoint.x &#; palyersize.width / 2 - 1) / map->getTileSize().width;

因为锚点在中心,所以左右侧分别就是减去和加上宽度的一半,然后不同之处就是,处理右侧时候要减一,因为我们左侧的碰撞是获得边界左侧的,而右侧的碰撞是获得边界右侧的。当我们的坐标属于以下范围时他属于这个图素块的索引index:(index - 1)* 图素宽 <= x < index * 图素宽,也就是我们的坐标如果等于右侧边界&#;,那么他就会被算在下一个索引&#;里,所以在处理右侧时为了防止等于边界&#;时被误算入下一块图素块时出现“卡”在地图上的情况,在处理右侧碰撞时减一。

下面就是检测如果碰上碰撞块时把水平移动的标志设置为0,然后校正位置,把主角移动到不碰撞的位置上,并且重新设置主角位置;

另外,修正上一篇中的一个问题,在获得主角在屏幕中位置时要获得主角的绝对坐标,要加上地图的坐标,因为我们设置主角的位置时,是设置在地图上的,所以主角的位置是相对与地图坐标的,代码如下:

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

下一篇继续简易动作游戏

cocos2d-x游戏实例()-简易动作游戏(3) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-简易动作游戏(4) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-简易动作游戏(5) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

标签: cocos2dx游戏案例

本文链接地址:https://www.jiuchutong.com/biancheng/369016.html 转载请保留说明!

上一篇:cocos2d-x游戏实例(23)-简易动作游戏(1)(cocos做游戏)

下一篇:cocos2d-x游戏实例(25)-简易动作游戏(3)(cocos2dx开发的游戏)

  • 不通过税金及附加的科目
  • 应交税费是什么会计科目
  • 劳动收入与报酬的具体形式有哪些
  • 财务单子包括哪些
  • 买金税盘发票能全额抵进项税吗
  • 稽查查补税款能缓缴
  • 打样费单位是什么
  • 收到费用怎么写分录
  • 企业长期股权投资
  • 信汇凭证是转账凭证吗
  • 为什么应收和预收在一起
  • 购进货物赠送客户增值税处理
  • 营业外收入怎么开票能开吗
  • 发票已开货没发出的账务处理?
  • 承兑汇票还款
  • 委托人力资源代招合同
  • 如何修复win7系统引导
  • 跳线和短接
  • 如何设置路由器步骤要详细
  • 合并报表期初数可以直接抄上年数吗
  • loaddriver.exe是什么病毒
  • php文件上传用什么请求方法
  • php in
  • 设备维修的会计分录怎么做
  • 电子发票和纸质发票的法律效力
  • php redis常用命令
  • 元素鼠标失灵了怎么办
  • php面向对象优点,缺点
  • 其他债权投资按公允价值计量,为什么计提减值准备
  • 基于51单片机的电子秤设计
  • Python Module — OpenAI ChatGPT API
  • web前端面试题目
  • 怎样安装∪sb
  • 增值税发票复印件可以入账吗与原件一致
  • 如何在最新版本钉钉上使用支付审申请
  • 应付职工薪酬中社保费怎么记账
  • 企业对外担保代偿能否税前扣除 税务局
  • 发票纳税识别号和名称打印出来不齐怎么回事
  • 预缴城建税税率
  • 服装加工税率是13%还是16%
  • 金税盘长期不使用
  • 党费会计核算科目有哪些
  • 小规模纳税人有哪些
  • 违约金 专票
  • 公司抽奖奖品设置
  • 个人出租不动产月租金不超10万免税
  • 有支出没有发票应怎么整改
  • 融资租赁财产保全金额是多少
  • 劳务增票多少个点
  • 黄金以旧换新工具有哪些
  • 公司购买的意外险计入什么科目
  • 公司车子折旧相差多少
  • 公司与公司之间劳务协议
  • 生产企业下单就做收入没交货怎么做账
  • 浅谈mysql explain中key_len的计算方法
  • Win7系统设置屏保密码
  • win7文件访问被拒绝怎么办
  • 如何在linux中安装软件
  • win10内置杀毒
  • linux的简单使用
  • 消除类策略游戏
  • jquery有什么功能
  • 检测输入条件的各种组合
  • linux awk命令使用实例
  • wmic命令详解
  • unity打包64位出错
  • nodejs webapp
  • linux 部署
  • net命令大全
  • vue wepack
  • javascript零基础入门
  • 湖北电子网上税务怎么交
  • 四川国税局局长是谁
  • 个人所得税是先交还是后交
  • 辽宁省银监局长
  • 出口退税申报系统反馈读入
  • 企业对税务局建议
  • 税务注销了怎么查看纳税申报表
  • 广州哪里有餐饮费发票
  • 联通怎么在网上营业厅更改套餐
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设