在将建筑物放置游戏之前,请先将其悬停在建筑物上

时间:2020-07-13 17:02:55

标签: c# unity3d

在策略游戏中,通常需要单击按钮以建造建筑物,然后才能将建筑物“保留”在光标上,因此可以将其放置在想要的位置。为此,我需要对其进行初始化,然后使其随用户光标一起进行raycast。


我需要它做什么:

  1. 需要对建筑物进行初始化。
  2. 需要使用raycast使建筑物跟随光标
  3. 单击时,建筑物需要放置在一个永久性的位置,然后摧毁旧建筑物。
  4. 使用Transform.SetParent行将永久建筑物存储到一个空的GameObject中。为此,创建一个公共变量将允许在游戏管理器中进行设置,而不是硬编码到脚本中。

1 个答案:

答案 0 :(得分:0)

通常,您将需要创建代码来更新建筑物的位置以匹配光标的位置。您可以通过获取RaycastHit点来实现。您可以通过在每次更新时将建筑物的翻译更新到当前生命值来实现。

您可能需要跟踪用户处于某种建筑物放置模式中。一种简单的方法是使用状态机。

然后,当用户单击(或解雇,或您决定采用适当机制的任何东西)时,您将使用该位置存储永久位置。

在不知道如何跟踪和存储建筑物的情况下很难提供更多详细信息。我假设它就像一个数组,在这种情况下,第二步仅涉及将建筑物添加到数组中。