从鼠标位置获取 tilebase?

问题描述 投票:0回答:1

所以我有一个网格组件,对于它的孩子,我有 3 层 tilemaps。我正在尝试使用我的鼠标位置从特定图层获取 tilebase 的位置。

        var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        var mousePosTranslated = groundLayer.WorldToCell(mousePos);`

        TileBase tile = groundLayer.GetTile(mousePosTranslated);

        Debug.Log(tile.GetType());

在没有 mousePosTranslated 的情况下尝试了 Input.mouseposition,但尽管如此,我还是从 GetTile 中得到了一个空值。通过我从 GetTile 获得的 tilebase,我计划使用 GetTileData 来获取它的位置。

c# unity3d game-development
1个回答
0
投票

检查持有对象变换的 tilemap 组件,并确保它们的 scale.z 为 0,现在我可以通过鼠标与 tilemap 交互。

© www.soinside.com 2019 - 2024. All rights reserved.