cocoscreator 模拟点击
在制作新手引导或者自动化测试时,有了模拟点击真的方便不少,虽然cocos官方没有提供,但是查看源码还是支持的,这篇文章是转载自:
https://forum.cocos.org/t/topic/83221
https://github.com/ShawnZhang2015/GodGuide/blob/01b5041c255e0ea8dc5cb34ee63f4a4e4c3b344b/assets/GodGuide/GodGuide.js#L25
function getHTMLElementPosition(element) {var docElem = document.documentElement;var leftOffset = window.pageXOffset - docElem.clientLeft;var topOffset = window.pageYOffset - docElem.clientTop;if (typeof element.getBoundingClientRect === 'function') {var box = element.getBoundingClientRect();return {left: box.left + leftOffset,top: box.top + topOffset,width: box.width,height: box.height};}else {if (element instanceof HTMLCanvasElement) {return {left: leftOffset,top: topOffset,width: element.width,height: element.height};}else {return {left: leftOffset,top: topOffset,width: parseInt(element.style.width),height: parseInt(element.style.height)};}}
}// (x,y)世界坐标(左下角为0,0)
function touchSimulation(x, y) {let rect;//兼容2.2.x 与 2.3.2let inputManager = window._cc ? window['_cc'].inputManager : cc.internal.inputManager;if (cc.sys.isBrowser) {let canvas = document.getElementById("GameCanvas");rect = getHTMLElementPosition(canvas);} else {rect = cc.view.getFrameSize();rect.left = 0;rect.top = 0;}let vp = cc.view.getViewportRect();let sx = cc.view.getScaleX();let sy = cc.view.getScaleY();let ratio = cc.view.getDevicePixelRatio();let htmlx = (x * sx + vp.x) / ratio + rect.left;let htmly = rect.top + rect.height - (y * sy + vp.y) / ratio;let pt = cc.v2(htmlx, htmly);cc.log(`模拟点击坐标:${pt.x}, ${pt.y}`);let touch = inputManager.getTouchByXY(pt.x, pt.y, rect);inputManager.handleTouchesBegin([touch]);setTimeout(() => {inputManager.handleTouchesEnd([touch]); }, 200);
}
cocoscreator 模拟点击相关推荐
- python 安卓模拟点击_python模拟点击在ios中实现的实例讲解
我们都知道因为操作系统的不同,很多游戏区分为安卓和苹果两个版本.那么之前学会python模拟点击的小伙伴开始担心,如果手机是ios版本那还能使用吗?这个问题小编进行了测试,小伙伴们完全不用忧虑ios版 ...
- 模拟点击与鼠标点击区别_没有root权限也可以用adb玩机2——模拟按键点击脚本...
前一段时间发过免root使用adb卸载系统预装应用,虽然没什么阅读量,但我觉得adb也是挺好玩的,也有各种骚操作,虽然有root权限会更好,如果没有也可以玩一玩. 电脑如何安装adb及adb常用命令, ...
- seo模拟点击软件_网站用软件刷排名好不好?
最近,有些同事和朋友问我一些关于百度刷排名的问题,主要是利用一些刷网站排名的软件来欺骗百度,这也让我想起了曾经看到过的一则消息,两个SEO人员利用软件刷百度排名,影响百度搜索结果的方式,为自己创收,结 ...
- python支持什么操作方式_python模拟点击常用的操作方法有哪些?
我们在模拟点击上已经准备好的使用的工具库,以及学了一些简单的代码操作体验了重复的循环语句.有些小伙伴已经迫不及待想要用python模拟点击进行一些实用的操作,类似鼠标的自动点击上.这里小编想说先不着急 ...
- python模拟网页点击_python怎么模拟点击网页按钮
python怎么模拟点击网页按钮 前提环境: Python3 和 Visual Studio Code安装完毕 . 安装selenium : 在终端输入: pip install selenium, ...
- C#获取网页中某个元素的位置,并模拟点击
我们在开发中,往往要得到网页中某个元素的位置,并且点击它.要模拟一次鼠标点击并不难,只要调用一个API就行了,关键就是怎么样得到这个元素的位置,还有判断是否要滚动滚动条,要滚动多少行能让元素显示出来. ...
- 爬虫——模拟点击动态页面
动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...
- HighChart模拟点击series的name显示隐藏
一.需求 HighChart模拟点击series的name显示隐藏,批量操作 二.代码实现 function toggleHighChart(show) {var charts = Highchart ...
- scrapy模拟模拟点击_模拟大流行
scrapy模拟模拟点击 复杂系统 (Complex Systems) In our daily life, we encounter many complex systems where indiv ...
最新文章
- UICollectionView
- 争时金融java_Java高并发编程基础之AQS
- ASP+COM技术在嵌入式Webserver中的应用
- CUDA peer to peer多GPU间内存copy技术
- java web接收tcp_Java多线程实现TCP网络Socket编程(C/S通信)
- Mysql 获取昨日、今日、明日凌晨时间
- 计算机应用维护师实习周记,计算机系统维护专业毕业实习周记
- python怎么安装lxml库_lxml解析库的安装和使用
- KVM:将img文件转换成qcow2格式的镜像
- 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader
- educoder中Spark GraphX—构建图及相关操作
- vue props命名为啥使用kebab-case (短横线隔开式) 来命名
- openfire+smack4.2.3
- xp计算机无法远程桌面连接,XP sp3系统下远程桌面不能连接到指定计算机的解决方案...
- H5流式播放(FMP4转封装与mediaSource)
- 云计算——第七天(寒假)
- 水仙花数是指一个三位数,它的每个位上的数字的 3次幂之和等于它本身,请编程找出所有水仙花数。(例如:153 = 1^3 + 5^3 + 3^3 )
- 利用Project进行工时等的报表统计
- 文本表示模型(1):主题模型LSA、pLSA、LDA
- lazarus linux,简单三步开启树莓派Ubuntu+lazarus之旅
热门文章
- 读书笔记∣元数据:用数据的数据管理你的世界 Ch.3-4
- vue table自定义样式
- 【Android】【自动填充】自定义AutofillService(二):编写AutofillService代码
- AirSim无人机仿真——手柄操作
- python调用ironpython_在.NET中嵌入IronPython 交互
- 在某OC字符串中,搜索指定的某字符串:-rangeOfString:
- [概念]CSV逗号分隔值
- 信心在生活中起到了什么样的作用
- LayUi数据表格数据太多导致下拉框卡顿问题
- Golang 开发之Cobra初探