位置: 编程技术 - 正文

cocos2dx中地图拖拽(任意方向拖拽+固定方向拖拽)(cocos2d schedule)

编辑:rootadmin

推荐整理分享cocos2dx中地图拖拽(任意方向拖拽+固定方向拖拽)(cocos2d schedule),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos地图编辑器,cocos2dx 地图,cocos地图编辑器,cocos creator拖尾,cocos地图编辑器,cocos2dx scrollview,cocos地图编辑器,cocos 地图,内容如对您有帮助,希望把文章链接给更多的朋友!

在游戏开发中,经常会碰见需要使用地图拖拽,例如通关关卡地图,可以允许用户拖拽选择进入哪个关卡,那么在cocos2dx中如何来实现呢?请见如下方案。

我们先创建一个精灵:

s_map_img是纹理图片路径,我们创建了一个s_map的地图精灵。

然后将其添加到层中:

将其添加到层中,并设置一个tag:1。

然后开始对触摸添加监听:

cocos2dx中地图拖拽(任意方向拖拽+固定方向拖拽)(cocos2d schedule)

这里我们创建了一个listener,对其绑定了一个触摸移动的监听,回调函数为test_drag(自己测试随便写的类)的成员函数onTouchesMoved。

然后我们来写这个回调函数:

这里我们可以看到首先获取了移动的相对距离diff,然后通过tag获取到了s_map的指针,随后将现在的距离加上移动的相对距离diff,再设置一下精灵的位置即可。

到此时,我们已经可以任意拖拽地图了,那么,如果我们需要限定地图只向指定方向拖拽移动呢,例如,我们的地图只允许往纵向移动,不允许其他方向的移动。这里给出两种方案:

现在我们知道了,支持拖拽的本质就是根据偏移量重新设置精灵的位置,那么,我们可以在这个偏移量上动手脚,先来看第一种方式:

我们可以检查一下diff的x的大小,如果为0,则表示没有横向的移动,就执行移动操作,这样可以保证只进行纵向的移动。这种方式其实不太好,因为有些时候我们滑动的时候并不是那么绝对的纵向,可能会偏一点点横向,对于这类情况,请看第二种方案:这里,我们定义一个新的偏移量new_diff,使用其获取diff的纵向移动,然后将横向始终设置为0,这样,我们就可以只进行用户纵向的移动了~

Android游戏之输入类设计(传感器,键盘,触摸点) Android游戏之输入类设计(传感器,键盘,触摸点)1、基础知识:A.SensorEventListener传感器事件监听

Android游戏之文件读写类和绘图类设计 Android游戏之文件读写类和绘图类设计1、基础知识:A.

android游戏开发的技术实现分析 在android开发中,你可能会有想要开发一个小游戏的冲动,那么用android来开发游戏如何实现呢?幸运的是,google提供了一些已经开发好的游戏实例.我们从他的

标签: cocos2d schedule

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

上一篇:Android游戏之音频类设计(安卓音游吃音)

下一篇:Android游戏之输入类设计(传感器,键盘,触摸点)(游戏输入法安卓)

  • 全国增值税发票服务平台
  • 企业所得税资产总额怎么计算
  • 农产品是零税率还是免税税率
  • 食堂临聘人员的管理、考核
  • 建筑服务预征缴纳税款本期实际抵减税额怎么填
  • 小规模纳税人开具增值税专用发票
  • 接受捐赠的材料会计分录怎么写
  • 在建工程试运行收入和成本怎么处理
  • 研究开发费用加计扣除多少
  • 专用发票不抵扣怎么做分录
  • 固定资产领用流程图
  • 受托方提供材料怎么写
  • 代缴代扣增值税
  • 三证合一后有效期多久
  • 增值税专普票清卡失败的原因是什么?
  • 滴滴出行客运服务费 事业单位 报销
  • 新疆税收扶持丝路古镇喀什重放异彩
  • 在企业走账扣的税点钱如何做账?
  • 进项票入账但是不抵扣怎么做账
  • 企业个税网上申报时间
  • 工资必须通过银行代发吗
  • 商砼税率是多少
  • 计提的坏账准备可以转回吗
  • 0x000000a5蓝屏代码是什么意思
  • macos big sur如何
  • 公司收到项目投资款怎么做账 项目结束后需要退本金
  • 加计抵减政策销售额占比怎么算
  • 在win7系统中,添加打印机驱动程序
  • win11修改版
  • 导航栏不变,切换怎么办
  • php多维数组遍历输出
  • php中imagecreatefromjpeg
  • 小规模报税系统登录
  • html简单的游戏
  • php artisan key:generate
  • thinkphp批量导入数据
  • 协会会费怎么使用
  • 垃圾分类手工小模型
  • modulenotfounderror
  • phpcms默认密码
  • 电影院是否征收文化建设事业费
  • 公司目前销售使用的物品
  • 开了红字发票申请还要做进项税转出吗
  • 金蝶软件如何输入红字
  • 工程施工预付款20%的规定
  • DEDECMS php.ini register_globals must is Off!如何解决
  • mongodb import
  • phpcms怎么样
  • 暂估入账的原材料有成本差异吗
  • 小企业会计准则和企业会计准则的区别
  • 补缴以前年度附加税怎么申报
  • 履约保证金打到个人账户合法吗
  • 撤回或减少投资所得税处理
  • 去年出口
  • 固定资产的入账价值包括进口关税吗
  • 如何进行捐款活动
  • 计量差错引起的原材料盘亏
  • 分公司非独立核算企业所得税税率
  • 零余额帐户如何转出
  • 计提本月短期借款利息500元会计分录
  • 代金券消费怎么入账
  • 员工个人买的保险可以税前扣除吗
  • 帐簿的保管期限
  • mysql理论知识
  • linux配置mysql数据库远程连接失败的解决方法
  • deepin 2014系统下安装mysql数据库的方法步骤
  • centos7修改网络
  • 输入法不显示怎么处理
  • win10可以关闭的功能
  • edge新版浏览器
  • win10升级 其他用户
  • win8怎么关闭电脑
  • if iferror find
  • bat脚本删除注册表
  • js正则表达式写法
  • android基础入门教程
  • python 内置函数什么用来返回序列中的最大元素
  • 音频资料下载
  • 中介服务企业怎么注册
  • 税务机关支部活动方案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设