input.on(Input.EventType.TOUCH_MOVE,(e:EventTouch)=>{
console.log("touch-move");
})
input.on(Input.EventType.MOUSE_MOVE,(e:EventMouse)=>{
console.log("mouse-move");
})

看代码只要第一个里面有事件,第二个就不会触发。为什么?
input.on(Input.EventType.TOUCH_MOVE,(e:EventTouch)=>{
console.log("touch-move");
})
input.on(Input.EventType.MOUSE_MOVE,(e:EventMouse)=>{
console.log("mouse-move");
})

看代码只要第一个里面有事件,第二个就不会触发。为什么?
我用的3.7.0,我下3.7.2试试
input 按道理不应该被阻止,即使我点击的区域有其他已经监听的节点,是不是这样?
猜想是断点调试情况下你没点击成功就已经进入断点函数,直接触发 mouse_move 了?
我升级了引擎还是不行,我在项目引用了fgui,所以在input的事件发送器中多了一个PointerEventDispatcher,然后就InputEventDispatcher就被break了。
@ccclass('Test')
export class Test extends Component {
start() {
let trans=this.getComponent(UITransform);
trans.contentSize.set(720,1280);
let g=this.getComponent(Graphics);
g.rect(-360,-640,720,1280);
g.fill();
this.node.on(Input.EventType.TOUCH_START,()=>console.log("node-touch-start!"));
this.node.on(Input.EventType.MOUSE_DOWN,()=>console.log("node-mouse-down!"));
input.on(Input.EventType.TOUCH_START,(e:EventTouch)=>{
console.log("input-touch-start")
})
input.on(Input.EventType.MOUSE_DOWN,(e:EventMouse)=>{
console.log("input-mouse-down")
})
}
}
如果有个全屏的node已经监听了事件,input在监听就不会触发,这样是合理的吗?input不该是全局的吗?额
不合理,应该有个全局的,否则input的意义在哪里?