位置: 编程技术 - 正文

cocos2d-x游戏实例(12)-实时拖动主角移动(cocos2d rpg)

编辑:rootadmin

推荐整理分享cocos2d-x游戏实例(12)-实时拖动主角移动(cocos2d rpg),希望有所帮助,仅作参考,欢迎阅读内容。

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

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址 void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);

virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);

virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);

这个实现起来比上一篇的问题要简单,但是我们要实现一个小算法,就是,我们检测我们的触电在主角的矩形范围内的一个点,那我们的触点不一定在主角的锚点上,这样我们不能直接用触点直接设置主角的位置,我们需要处理一下,见下图

如图p点是我们的触点,a点是我们的锚点,我们只要满足一下公式:

Px - Ax = dx,Py - Ay = dy就可以了。

cocos2d-x游戏实例(12)-实时拖动主角移动(cocos2d rpg)

首先来看ccTouchesBegan的实现:

首先还是获得触点,然后我们就要获得主角位置,和上次的程序一样,主角还是绑定在地图上的,所以我们要获得主角的绝对坐标,然后判断触点是否在主角这个矩形范围内,如果在范围内,我们把索引&#;设置为-5,-5表示起始点有效,-1表示起始点无效,然后我们就通过刚才那个公式获得dx和dy(也就是xdelta,ydelta)。

再来看ccTouchesMoved的实现:

如果索引&#;为-5,那表示我们就可以控制主角了,然后我们要判断触点是否在屏幕范围内,如果在屏幕范围内,再判断这个位置是否和主角当前位置相同,如果不同才会设置主角位置,这里要说到的是我们获得上一个位置的方法,当然,你也可以通过一个变量来控制,这里介绍通过计算得到的方法,首先通过主角的getposition方法获得的坐标只是主角相对于地图的坐标,我们加上地图的横纵坐标来获得主角的绝对坐标,然后再通过Px - Ax = dx,Py - Ay = dy公式获得上一个触点的位置,最后设置主角位置,注意首先还是通过Px - Ax = dx,Py - Ay = dy公式获得锚点应该移动到的位置,然后再减去地图的位置获得主角和地图的相对坐标

再来看ccTouchesEnded的实现:

很简单,就是如果索引&#;为-5时重新设置为-1的“未激活”状态。

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

下一篇继续游戏实例

cocos2d-x游戏实例()-简易摇杆控制主角 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-纵版射击游戏(1) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-纵版射击游戏(2) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

标签: cocos2d rpg

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

上一篇:cocos2d-x初探学习笔记(28)--CCTMXTiledMap(cocos2d-x教程)

下一篇:cocos2d-x游戏实例(13)-简易摇杆控制主角(cocos2dx游戏案例)

  • 银行贷款第三方收款人
  • 超过开票金额不能开票?
  • 不动产什么时候可以抵扣进项税额
  • 百望云票收费吗
  • 建筑工程免税项目
  • 去新成立的公司
  • 票据利息科目怎么设置
  • 股票属于现金及股票吗
  • 公司员工租金取得专用发票能否抵扣?
  • 营改增后固定资产入账
  • 退役士兵创业就业政策
  • 对公账户注销需要本人吗
  • 工资计税基数
  • 汽车厂家金融贴息 是贴利息的还是贴车价
  • 个人所得税的征收
  • 年底结账时需要做账吗
  • 专票入库单金额怎么算
  • 主营业务收入需要交增值税吗
  • 公司购买房子涉及什么税
  • 结转利润分配分录怎么写
  • 类似股票期货的产品
  • win10应用商店没有软件库
  • 私立医院交所得税吗
  • 赠送客户的商品计入什么科目
  • 营改增后增值税税率
  • 投资收益怎么算例题
  • 入库材料未付款属于什么会计科目
  • 事业单位接受捐赠固定资产入账
  • dat文件转换成wps表格
  • 最轻便的蓝光刻录机品牌
  • php数组有哪几种类型
  • php img
  • 职工住院的护理费标准
  • 新会计准则里的现金流量的公式
  • 在金税卡里面如何交社保
  • 承包经营所得税税率表
  • 同业拆入属于哪个行业
  • 蓝桥杯大赛官网试题
  • promise的几种状态
  • 微信支付的开发公司
  • 一般纳税人销售给小规模纳税人
  • java arraytolist
  • rust基础操作
  • 融资租赁各方
  • 基础电信是什么
  • 宿舍宽带费用
  • 应付职工薪酬的二级科目都有哪些
  • 办公用品采购如何记账
  • 收到某企业一笔发票
  • 保险公司赔付进项税
  • 公司员工支出
  • 长期待摊费用如何结转
  • 收到转账支票怎么填
  • 会计档案销毁方案怎么写
  • windows8命令提示符命令大全
  • win预览版计划
  • linux的tar命令详解
  • 如何恢复ubuntu
  • 进程crash是什么意思
  • agentctl.dll
  • win8怎么装驱动
  • linuxvim编辑器的用法
  • Mac怎么连接扫描仪
  • windows10周年纪念版
  • centos常用命令安装
  • nerosvc.exe - nerosvc是什么进程 有什么用
  • windows8怎么进入bios
  • win10如何不升级系统
  • 事件处理的三个要素
  • string获取文件名
  • cocos2dx4.0教程
  • 只用html和css
  • javascript的prompt
  • unity2019图集
  • jquery中可以用什么方法来获取和设置元素属性
  • 基于JAVASCRIPT实现的可视化工具是
  • javascript !
  • javascript中Date format(js日期格式化)方法小结
  • 安卓怎样从旧手机把联系人导入新手机
  • 补办契税需要哪些资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设