打包android touch事件不触发

  • Creator 版本:3.8.8

  • 目标平台:android

  • 重现方式:
    新建空白项目,canvas挂脚本一行代码

import { _decorator, Component, Input, Node } from ‘cc’;

const { ccclass, property } = _decorator;

@ccclass(‘Main’)

export class Main extends Component {

start() {

    new Input().on(Input.EventType.TOUCH_START, () => {

        console.warn('touch !!!');

    })

}

update(deltaTime: number) {

}

}

包括button组件,都不行。也不是log没输出,确认touch没触发。
试了3.8.8,3.8.6,3.8.4,换了两个手机,都是一样,我理解各个版本的引擎 android工程模板应该是独立的把?
除了触摸不响应其他动画逻辑都正常运行
我现在有点怀疑自己了,找了半天原因,论坛也没同症状的。
是我自己本地开发环境问题??

我还是第一次见到touch事件是这么注册的。请问你是从那里学来的,链接发一下,我学习一下哈。然后我可以告诉你好像有个全局的input对象,你可以从cc里导入。你不new Input().on。而是 input.on试试呢。

1赞

找到原因了

在android里 使用input 监听 第三个参数如果不传,整个触摸就挂了
包括

new Input().on(Input.EventType.TOUCH_START, () => {
console.warn(‘touch !!!’);
})
//或者使用全局的input
input.on(Input.EventType.TOUCH_START, () => {
console.warn(‘touch !!!’);
})

正确的:
new Input().on(Input.EventType.TOUCH_START, () => {
console.warn(‘touch !!!’);
},null)

可以是null

兄弟,你还没有告诉我,new Input()这一招是从哪里学习来的

规规矩矩的 照抄文档例子,你的心率会起伏是吗

哈哈哈哈哈哈哈哈哈