鼠标按下,会触发鼠标移动事件!!!

cocoscreator版本2.4.3
新建typescript helloworld项目,Helloworld脚本改为以下代码:
const {ccclass, property} = cc._decorator;

@ccclass
export default class Helloworld extends cc.Component {

@property(cc.Label)
label: cc.Label = null;

@property
text: string = 'hello';

start () {
    // 注册鼠标事件
    this.node.on(cc.Node.EventType.MOUSE_DOWN, this.onMouseDown, this, true);
    this.node.on(cc.Node.EventType.MOUSE_MOVE, this.onMouseMove, this);
    this.node.on(cc.Node.EventType.MOUSE_UP, this.onMouseUp, this);
}

// 鼠标按下
private onMouseDown(event: cc.Event.EventMouse): void {
    console.log("onMouseDown");
}

// 鼠标移动
private onMouseMove(event: cc.Event.EventMouse): void {
    console.log("onMouseMove");
}

// 鼠标松开
private onMouseUp(event: cc.Event.EventMouse): void {
    console.log("onMouseUp");
}

}

浏览器运行,按下鼠标,会触发鼠标按下事件,也会触发鼠标移动事件,问题是我鼠标根本没动!!什么原因?

它确实会出发移动事件,如果不想要的话,就去除移动事件的监听,或者在移动事件中判断一下有没有移动

这不是bug吗?或者说很傻逼?

嗯~ 也不能这么说…,可能有别的需求吧

我试了你的代码,没问题,点击 没移动事件

我想起来,这个东西好像是有bug的,有时候会触发,有时候就不会

你的creator版本是多少?

2.3.3

貌似确实是有这个问题的 当时在微信小游戏平台发现的 ios跟安卓的表现不一样 忘了哪个会触发move事件了 当时的解决方法貌似是move事件里面做个条件判断

能给个可重现的 demo 和环境吗?

遇到过,e.getDelta()偏移值x,y都是0,具体根据start开始node的坐标,跟move中的坐标对比一下