3.4 【Bug】无法通过设置active和opacity来隐藏TiledTile(含demo)

使用Cocos Creator 3.4.0
在Demo Controller.ts中,试验了通过设置active和opacity隐藏TiledTile节点,均没有变化。

备注:使用的Tiled软件版本为1.4.3

demo01.zip (1.4 MB)

哪个creator版本?

3.4版本

头疼,这个版本太多小bug了

image
你通过getTiledTileAt拿到的是一个被new出来的全新tiled,并不是你原本的tiled

你如果要控制节点的显示隐藏,你的tiled应该放在对象层


你当前tiledLayer层的图块并不是以节点形式存在的

感谢老哥的回复,但是你没理解我的意思。

  1. 我不想操作制作TiledMap的图块,我想操作的是这个TiledMap里的TiledTile,所以制作用的图块不以节点形式存在是没有问题的。
  2. TiledTile这个节点本身是不存在的(起码在这个版本的cocos creator里是这样),一定需要在使用getTiledTileAt方法时新建才会有具体的TiledTile节点(这点可以查看接口文档,有具体说明)
  3. 如果我想隐藏TiledMap里的某一块Tile,有什么其它办法么?

我不确定这个是3.4还是3.x的bug,我之前没太用过creator,最近想做个H5小游戏才使用的

年前会放出2.4.1,期待那个版本会修复这些东西,不过不要抱 太大希望,因为这些这样那样的小bug是几乎每个版本都存在的,看bug在哪方面而已,期待下吧

可以理解。现在比较稳定的3.x版本可以推荐一下吗?

不好意思,我才发现我demo里没有保存scene文件,我更新了一下,麻烦重新下载

推荐2.4.7,3.x开发2d还是不推荐,当然开发3d的话也仅限小型的3d游戏(几乎上不了线那种,没贬义,有一说一)

我发现可以调用TiledLayer的markForUpdateRenderData(true),至于原因,咱也不懂。

https://docs.cocos.com/creator/api/zh/#/docs/3.2/zh/tiledmap/Class/TiledLayer?id=markforupdaterenderdata

1赞

确实,调用了这个才生效