【发布时间】:2022-02-28 00:21:46
【问题描述】:
每当我的玩家与它发生碰撞时,我都会尝试删除它。我可以通过此脚本通过鼠标单击删除磁贴
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3Int position = dirtGrid.WorldToCell(mousePos);
dirtTilemap.SetTile(position, null);
但是我希望玩家对撞机与瓷砖碰撞,然后获取瓷砖位置以删除瓷砖:)
如果有人有任何想法,请随时告诉我!
【问题讨论】:
-
让每个图块存储它的位置和对包含它们的图块地图的引用。然后将collision 方法添加到图块中,在该方法中图块应调用存储的图块地图的方法,该方法删除存储位置的图块
-
因为tilemap里面有tile,而且tilemap碰撞器只触发一次,我只碰撞一次。我希望移除玩家面前的所有瓷砖。顺便说一句,我怎样才能让他们存储自己的位置?
标签: unity3d