在制作新手引导或者自动化测试时,有了模拟点击真的方便不少,虽然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 模拟点击相关推荐

  1. python 安卓模拟点击_python模拟点击在ios中实现的实例讲解

    我们都知道因为操作系统的不同,很多游戏区分为安卓和苹果两个版本.那么之前学会python模拟点击的小伙伴开始担心,如果手机是ios版本那还能使用吗?这个问题小编进行了测试,小伙伴们完全不用忧虑ios版 ...

  2. 模拟点击与鼠标点击区别_没有root权限也可以用adb玩机2——模拟按键点击脚本...

    前一段时间发过免root使用adb卸载系统预装应用,虽然没什么阅读量,但我觉得adb也是挺好玩的,也有各种骚操作,虽然有root权限会更好,如果没有也可以玩一玩. 电脑如何安装adb及adb常用命令, ...

  3. seo模拟点击软件_网站用软件刷排名好不好?

    最近,有些同事和朋友问我一些关于百度刷排名的问题,主要是利用一些刷网站排名的软件来欺骗百度,这也让我想起了曾经看到过的一则消息,两个SEO人员利用软件刷百度排名,影响百度搜索结果的方式,为自己创收,结 ...

  4. python支持什么操作方式_python模拟点击常用的操作方法有哪些?

    我们在模拟点击上已经准备好的使用的工具库,以及学了一些简单的代码操作体验了重复的循环语句.有些小伙伴已经迫不及待想要用python模拟点击进行一些实用的操作,类似鼠标的自动点击上.这里小编想说先不着急 ...

  5. python模拟网页点击_python怎么模拟点击网页按钮

    python怎么模拟点击网页按钮 前提环境: Python3 和 Visual Studio Code安装完毕 . 安装selenium : 在终端输入: pip install selenium, ...

  6. C#获取网页中某个元素的位置,并模拟点击

    我们在开发中,往往要得到网页中某个元素的位置,并且点击它.要模拟一次鼠标点击并不难,只要调用一个API就行了,关键就是怎么样得到这个元素的位置,还有判断是否要滚动滚动条,要滚动多少行能让元素显示出来. ...

  7. 爬虫——模拟点击动态页面

    动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...

  8. HighChart模拟点击series的name显示隐藏

    一.需求 HighChart模拟点击series的name显示隐藏,批量操作 二.代码实现 function toggleHighChart(show) {var charts = Highchart ...

  9. scrapy模拟模拟点击_模拟大流行

    scrapy模拟模拟点击 复杂系统 (Complex Systems) In our daily life, we encounter many complex systems where indiv ...

最新文章

  1. UICollectionView
  2. 争时金融java_Java高并发编程基础之AQS
  3. ASP+COM技术在嵌入式Webserver中的应用
  4. CUDA peer to peer多GPU间内存copy技术
  5. java web接收tcp_Java多线程实现TCP网络Socket编程(C/S通信)
  6. Mysql 获取昨日、今日、明日凌晨时间
  7. 计算机应用维护师实习周记,计算机系统维护专业毕业实习周记
  8. python怎么安装lxml库_lxml解析库的安装和使用
  9. KVM:将img文件转换成qcow2格式的镜像
  10. 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader
  11. educoder中Spark GraphX—构建图及相关操作
  12. vue props命名为啥使用kebab-case (短横线隔开式) 来命名
  13. openfire+smack4.2.3
  14. xp计算机无法远程桌面连接,XP sp3系统下远程桌面不能连接到指定计算机的解决方案...
  15. H5流式播放(FMP4转封装与mediaSource)
  16. 云计算——第七天(寒假)
  17. 水仙花数是指一个三位数,它的每个位上的数字的 3次幂之和等于它本身,请编程找出所有水仙花数。(例如:153 = 1^3 + 5^3 + 3^3 )
  18. 利用Project进行工时等的报表统计
  19. 文本表示模型(1):主题模型LSA、pLSA、LDA
  20. lazarus linux,简单三步开启树莓派Ubuntu+lazarus之旅

热门文章

  1. 读书笔记∣元数据:用数据的数据管理你的世界 Ch.3-4
  2. vue table自定义样式
  3. 【Android】【自动填充】自定义AutofillService(二):编写AutofillService代码
  4. AirSim无人机仿真——手柄操作
  5. python调用ironpython_在.NET中嵌入IronPython 交互
  6. 在某OC字符串中,搜索指定的某字符串:-rangeOfString:
  7. [概念]CSV逗号分隔值
  8. 信心在生活中起到了什么样的作用
  9. LayUi数据表格数据太多导致下拉框卡顿问题
  10. Golang 开发之Cobra初探