放心,已安排到2.2.2版本,也就是下个版本就会上这个功能
终于填这个坑啦
原来问这个问题的兄弟们,如今怎么样了
真好啊,坐等2.2.2
卧槽 ,牛批啦 引擎组。
其实处理起来很简单,不多说了,你想让哪个节点下是单点触摸,就把它挂在哪,想全局单点就挂canvas
const { ccclass } = cc._decorator;
@ccclass
export default class touchSingle extends cc.Component {
private _touchID: number = null;
private _touchStart(event) {
if (this._touchID !== null) {
event.stopPropagation();
} else {
this._touchID = event.getID();
}
}
private _touchMove(event) {
if (this._touchID !== event.getID()) {
event.stopPropagation();
}
}
private _touchEnd(event) {
if (this._touchID !== event.getID()) {
event.stopPropagation();
} else if (!event.simulate) {
this._touchID = null;
}
}
onEnable() {
this.node.on(cc.Node.EventType.TOUCH_START, this._touchStart, this, true);
this.node.on(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this, true);
this.node.on(cc.Node.EventType.TOUCH_END, this._touchEnd, this, true);
this.node.on(cc.Node.EventType.TOUCH_CANCEL, this._touchEnd, this, true);
}
onDisable() {
this.node.off(cc.Node.EventType.TOUCH_START, this._touchStart, this, true);
this.node.off(cc.Node.EventType.TOUCH_MOVE, this._touchMove, this, true);
this.node.off(cc.Node.EventType.TOUCH_END, this._touchEnd, this, true);
this.node.off(cc.Node.EventType.TOUCH_CANCEL, this._touchEnd, this, true);
}
}
用过的都说好,记得点赞
11赞
mark
mark
mark
这么多年了,终于看到点光了
现在不止是光了,太阳已经出来了,只是还有点云层,2.2.3有了
我早就解决了
方法好用,就是IOS端有点问题,我在IOS端发现getID()后是负数了,于是我把private _touchID = null ;touchEnd里最后也置为空就好了
那我也改一下,你说的是在native端么?
好!!!
2.3.0
你好,麻烦问一下,simulate这个参数是干嘛的?我在调试的时候这个参数都是undefined
scrollView扔出来的,你去看scrollView的源码
1赞
mark
大佬,没看到文档里有介绍
单点触摸开关