我正在尝试为我的垂直平台游戏编写相机跟踪脚本,我查看了许多教程,发现一些可以达到一定程度的工作,但并不是我真正需要的。
我本质上想创建与Mario游戏相同的逻辑,以决定相机必须跟随玩家而何时不跟随玩家,但在Y轴上,下面是Mario游戏的示例:
下面是我尝试过的操作,我没有收到任何错误,但相机仍然保持静止(它什么也没做),并且cameraLeadingUp和CameraLeadingDown在检查器中从未变为真。
void Start()
{
camHeight = Camera.main.orthographicSize;
camWidth = camHeight * Camera.main.aspect;
cameraLeadingUp = true;
cameraLeadingDown = false;
}
void FixedUpdate ()
{
Vector3 temp = transform.position;
if (cameraLeadingUp)
{
if (playerLocation.position.y < camHeight / 0.25f)
{
cameraLeadingDown = true;
cameraLeadingUp = false;
}
}
else if (cameraLeadingDown)
{
if (playerLocation.position.y > camHeight / 0.25f)
{
cameraLeadingUp = true;
cameraLeadingDown = false;
}
}
if (cameraLeadingDown)
{
temp.y = Mathf.Min(camHeight / 0.90f, playerLocation.position.y);
}
if (cameraLeadingUp)
{
temp.y = Mathf.Max(camHeight / 0.90f, playerLocation.position.y);
}
transform.position = temp;
}