【发布时间】:2018-08-19 05:10:59
【问题描述】:
我正在制作一个 2D 平台游戏,我希望相机在角色到达中心后跟随角色,但只在 x 轴上跟随角色。我已经下载了这段代码,它可以工作,但是它跟随 x 和 y 上的字符,并且它把字符卡在了它开始的相机的同一个角落。我尝试添加一个 if 语句,以便相机只有在偏移量等于播放器时才开始移动,但它不起作用。我收到错误代码“无法将vector3隐式转换为bool”
代码如下:
using UnityEngine;
using System.Collections;
public class CompleteCameraController : MonoBehaviour {
public GameObject player;
private Vector3 offset;
void Start ()
{
offset = transform.position - player.transform.position;
}
void LateUpdate ()
{
if (offset == player.transform.position)
{
transform.position = player.transform.position + offset;
}
}
}
【问题讨论】:
-
我不懂c#,但在其他语言中,比较值时需要
==,单个=是赋值运算符。 -
是的,你知道。我都试过了,显然我在设置为单个 = 时复制了它。谢谢!
-
您的代码没问题,不会抛出错误(在当前版本中)。无论如何......你确定你只想在偏移量完全开始时移动相机吗?基本上它永远不会被调用,因为玩家可能永远不会再次到达相同的位置......