触控屏winPC(电视类) 只有在抬起时候会响应touchstart,click

  • Creator 版本:2.4.3

  • 目标平台: web

  • 重现方式:必现

  • 首个报错: touch和mouse响应事件时机不对

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:win

  • 重现概率:100%

使用触控屏,系统为winPC,带触屏。发布的web-mobile,按下不会响应任何事件(touchstart,mouseenter)。都只是在抬起时候同时touchstart,mouseenter和touchend,mouseup一起响应。因此touchmove就不会响应。click事件也是只有在抬起才能响应。白鹭引擎的事件监听可以正常响应。window.addEventListener(“touchstart”)是可以正常响应的,这个该怎么解决?,自己可以修改么?

1赞

CCSys里面直接把capabilities[“touches”] = true;这个写死 让他必为true再试试

在onload里面添加了 cc.sys.capabilities[“touches”] = true;还是不行

CCSys自定义下引擎 不要在onload里面

这个位置

1赞

z在这里添加了,还是不行

从新build了 选择自定义引擎 我的是这样改的 没问题 我的版本是2.0.10 不过这部分应该和版本没啥关系

我打包出来后是这样的,这里面好像没有touch,这个修改是要重启电脑么?

不用 改了CCSys之后build一下引擎 选择自定义引擎 保险点在重启下creator 然后build出web-mobile

非常感谢,已经可以了,重新编译引擎就行了,查一下就不用cocos了,这样我们就可以重新用cocos了

:sweat_smile: 哈哈 不至于到不用cocos那地步 类似相关自己看下源码调试下就有结果了

为什么我改了 引擎也重新编译了 还是不行?。。。。

你打印下 cc.sys.capabilities 看看有没有改成功

打印了 并没有 touches。。 哪里选择自定义引擎? 我直接在2.4.3版本下修改了CCSys文件 加入capabilities[“touches”] = true;
重新编译引擎了 没有任何效果 奇怪了。。

没有就是修改没成功 按照官方文档一步一步来就行

https://docs.cocos.com/creator/manual/zh/advanced-topics/engine-customization.html

一定要使用自定义引擎吗? 在编辑器内部直接修改是不会生效的? 我以为全局引擎修改也是一样的。。

因为引擎初始化的时候就需要用到这个配置了 等启动以后再修改就不会生效了 我这边本身就有一些自定义引擎的操作 所以没感觉麻烦 你要是只有这一个修改的话 可以再研究研究源码 看看有没有办法在外部改

TypeError: Cannot read property ‘width’ of undefined 复制engine 选择后报错。。 无法保存成功。。

刚好我以前也做过这个类似的东西,要在一个大屏智能电视上演示一个demo,发现touchmove 没响应的,最后是改引擎搞定的,记得应该是 CCInputManager.js 里面的实现各种输入绑定的,应该还是得改引擎,再重新编译一下,

我现在用的不是改引擎底层了,直接用的插件脚本就可以了
微信截图_20210112112123

3赞