[0]Laya tiledmap 监听事件未响应

    private tiledMap: Laya.TiledMap 
    /** */
    private onLost() { 
        this.tiledMap = new Laya.TiledMap(); 
        this.tiledMap.createMap("resource/tiledMap/isometric_grass_and_water.json", new Rectangle(0, 0, Laya.stage.width, Laya.stage.height), Handler.create(this, this.mapLoaded), null, new Point(1600, 800)); 
    } 
    private mapLoaded(): void {
        let _mapSprite = this.tiledMap.mapSprite();
        _mapSprite.mouseEnabled = true;
        _mapSprite.hitTestPrior = true;
        Laya.stage.focus = _mapSprite;
        let event = _mapSprite.on(Laya.Event.CLICK, this, () => {
            LogUtil.w("响应点击事件")
        })
    }
 
尝试使用focus 好像也没有响应 请问大佬们能解答一下吗
Snipaste_2022-09-29_15-56-55.png
已邀请:

Laya_Fred

赞同来自: 1664438121用户

您好,这里使用this.tiledMap.mapSprite()来获取的只是地图的显示对象节点,在添加CLICK事件后,由于这个mapSprite只是存放的一个sprite节点,并没有实际显示的内容,并不会检测到CLICK事件的,您可以参照这个示例内 区块地图--等角地图,在stage上添加监听,再通过点击位置来获取地图内的对象。

要回复问题请先

商务合作
商务合作