node.on 加的touch事件不响应

代码如下:

在棋盘上增加一个 砖块 的预制体 node。顺便在node上增加一个touchstart 事件,结果就没响应了。 加短点,到不了 = null 那块:

addBrick: function (x, y) {
var node = cc.instantiate(this.brickPrefab);
node.parent = this.chessboard.node;

    node.on('touchstart', function (event) {
            node.parent = null;
    });
},

但是,在同样的 文件里,给另一个页面上非动态生成的 label的node加,就好使。

1赞

看看节点的size是不是(0,0)

1赞

确实是,多谢大牛!:joy:

不过新增了个问题,在响应到这个时间后。最上层的事件相应不了了:joy:

正常的,点击事件之间会按照层级覆盖

又查了一下,好像跟子节点是否监听没关系。

我的node结构是:

canvas -> chessboard -> chess ( 大棋盘,棋盘上有棋子)。

在整个canvas上监听touchend。 如果 起始触摸点 是 棋子 的话,在棋子外松手,canvas的touchend 就监听不到。。
只要起始点不是 棋子,就能监听到 touchend

——————————————————————————

找到原因了:

如果在一个node上开始的 touchstart,结束如果是在node外,则触发的是 touchcancel。