我正在制作一个2D Unity 游戏,您可以在其中移动 3 条车道和只影响其特定车道的发射箭。
为了做到这一点,每次您从一条车道移动到另一条车道时,我都会更改箭头预制件的图层。
箭头在击中时变为地形的子级,但是当箭头预制件更改其图层时,克隆箭头也会这样做(即使是其他车道中地形的父级)
如何使以地形为父的箭头不受层的箭头预制更改的影响?
谢谢
我正在制作一个2D Unity 游戏,您可以在其中移动 3 条车道和只影响其特定车道的发射箭。
为了做到这一点,每次您从一条车道移动到另一条车道时,我都会更改箭头预制件的图层。
箭头在击中时变为地形的子级,但是当箭头预制件更改其图层时,克隆箭头也会这样做(即使是其他车道中地形的父级)
如何使以地形为父的箭头不受层的箭头预制更改的影响?
谢谢
你的箭有课吗?在其上添加属性,例如 .laneNumber。实例化时初始化它的值取决于你所在的车道。例如在第一车道。.laneNumber = 0; 并在碰撞方法中检查laneNumber 是否等于怪物/障碍物的laneNumber。类似的东西。
您说您正在更改prefab
图层,如果这是正确的,那么您基本上是在更改从该预制件制作的每个克隆。如果你想自己改变每条车道的箭头,你应该直接改变克隆,而不是预制。
也许您可以添加 3 个箭头列表,每个车道一个,每次发射箭头时,将其添加到列表中。然后您可以遍历该列表以更改每GameObject
一层。