如何统一制作2D实时Strategy策略相机控制器?

时间:2019-10-21 16:47:01

标签: c# unity3d

我一直在寻找有关如何在2D中为Unity制作实时策略相机的时代。我的意思是,您应该使用W,A,S,D以及我所能看到的唯一3D来控制摄像机。我一直在尝试编写自己的脚本,但相机无法正常工作,我迫切需要帮助。我已经做了很多尝试,但是作为Unity的初学者,我确实需要帮助。如果您能给我任何有关如何开始这件事的信息,我将非常高兴。

您认为我应该使用Force方法还是应该使用已经安装了unity的另一个方法?我也尝试使用矢量,但是当我环顾四周时,所有人都在使用仅用于3D统一的Vector 3。

2 个答案:

答案 0 :(得分:0)

您可以将单个脚本附加到相机。

public float speed =10.0f;
void Update()
{
Vector3 a = transform.position
    if(Input.GetKeyDown("W"))
    {
        a.position.y += speed *Time.deltaTime
    }
    if(Input.GetKeyDown("S"))
    {
        a.position.y -= speed *Time.deltaTime
    }
transform.position =a;
}

您可以根据需要调整速度。您可以为其他键执行此操作。注意按住某个键时将调用GetKeyDown。希望这会有所帮助。

答案 1 :(得分:0)

使用Vector3 direction = new Vector3();

生成方向矢量

根据键在所需的方向上操纵矢量:

if (Input.GetKey(KeyCode.A)) 
   direction += Vector3.left;

添加“内置” Vector3.left将使矢量的方向指向左侧,您可以在其上方添加其他键以获得最终方向。

然后,您可以使用transform.Translate()来移动gameObject(在这种情况下,将其附加到相机上),方法是根据基于被按下的键作为参数传递计算的方向。然后相乘得到direction * speed * Time.deltaTime;