【问题标题】:Delete tiles when colliding with them与瓷砖碰撞时删除瓷砖
【发布时间】: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


【解决方案1】:

我没有足够的声誉来发表评论,所以我必须将您引导到另一个问题并给出答案。我之前也尝试过处理单个图块碰撞,found this

【讨论】:

  • 这不是答案。
  • @gru 你指的是链接的帖子还是我的帖子?我会将链接作为评论发送,但我是一个新活跃的用户,还不能在其他人的帖子上写 cmets。请将链接复制到我的评论中,我将删除此答案。
  • @BaconNugget 感谢您的评论和回答!并且无视格鲁的评论,只是消极和besserwisser。我更改了解决方案以在单击鼠标时删除时间。工作正常:)
猜你喜欢
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多