位置: 编程技术 - 正文

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游戏案例)

  • 土地增值税怎么计算
  • 个人所得税征收标准表
  • 公司现金账户归谁管
  • 收到天使投资如何做账
  • 对公账户可以报一办几个
  • 会务费税前扣除材料
  • 过路费可以入账吗
  • 原材料的可变现净值等于产品可变现净值减加工费么
  • 这部分房屋是否可以抵押
  • 政策性搬迁资产损失情况怎么写
  • 增值税专用发票抵扣期限
  • 什么情况下需要写答
  • 工会经费用于什么
  • 高速公路通行费专用发票可以抵扣吗
  • 税局如何查无票收入
  • 电商平台小规模纳税标准
  • 个人承包是什么意思
  • 可税前扣除的捐赠支出
  • 小规模企业资本结构
  • 个体户查账征收没有成本票怎么办
  • 向承兑人提示付款
  • 租赁架子公司购车合法吗
  • 一般纳税人资格证明在哪里开具
  • 设备安装合同预付款比例
  • 免税单位无租使用房产怎么缴纳房产税
  • 回收站右键菜单修改
  • el-cascader动态加载多级
  • edge浏览器总是打开新的网页
  • 临时工工资的会计处理
  • u启动u盘怎么装系统
  • Msssrv.exe - Msssrv是什么进程 有什么用
  • PHP:token_name()的用法_Tokenizer函数
  • nuxt怎么用
  • 进货返利怎么入账
  • 房地产计提税金的会计分录
  • php 读取大excel
  • opencv模板匹配多目标旋转
  • 发票写的是信息怎么办
  • 科目汇总表一张不够怎么写下一页
  • 小规模纳税人通行费电子普票能抵扣吗
  • 农产品购进时的会计分录
  • 万元发票和千元发票
  • 偿还银行贷款利息计算
  • 工商企业年报网上申报流程
  • 资本公积可以转增资本因此称之为准资本
  • 垃圾处理费怎么申报
  • 购置环保设备一次性扣除
  • 无形资产属于货物吗为什么
  • 研发费用摊销方法
  • 审计报告的分类不包含
  • 小规模防伪税控服务费多少钱
  • 固定资产报废废料收入要发票吗
  • 一次性收取房租怎么做分录
  • 小规模纳税人增值税计算公式
  • 销售完一定要结工资吗
  • 公司法人借款给公司用责任承担
  • 管理费用包括哪些
  • 去年未做账的发票怎么查
  • mysql建索引有哪些策略和原则
  • 任务管理器边框怎么设置
  • window10的dns异常
  • winxp升级win7失败怎么办
  • xp系统禁止程序联网
  • 软raid怎么组
  • squid详细
  • js时间倒计时定时器怎么弄
  • android图像处理
  • linux安装jdk和tomcat
  • win sc
  • 详解16型人格
  • 可视化gradcam
  • angularjs1.5
  • 从零基础开始学
  • 读取更新包文件发生错误
  • js定义类的三种方法
  • 用python编写
  • 组件中js可以做什么
  • 山东地方税务局官网
  • 山东地税app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设