【发布时间】:2021-12-28 02:45:42
【问题描述】:
我正在制作一个相机切换系统来从第三人称模式切换到第一人称模式,但是当我在编辑器中进行测试时它会更改为第三人称,但是我无法切换回第一人称模式,我Unity 中的一种新功能,我自己制作的
这是相机切换脚本的代码
{
public bool isTPMenabled = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.F5))
{
if (isTPMenabled == false)
{
if (isTPMenabled == true)
{
GameObject.Find("Player Camera").transform.position = new Vector3(this.transform.position.x, this.transform.position.y, this.transform.position.z);
isTPMenabled = false;
return;
}
GameObject.Find("Player Camera").transform.position = new Vector3(this.transform.position.x - 2, this.transform.position.y + 2, this.transform.position.z);
isTPMenabled = true;
return;
}
}
if (Input.GetKey(KeyCode.F4))
{
GameObject.Find("Player Camera").transform.position = new Vector3(this.transform.position.x, this.transform.position.y, this.transform.position.z);
}
我用回车;尝试终止脚本,但没有奏效
我的目标是,如果按一次 F5,它将进入第三人称模式,但如果再次按下它,它将返回第一人称模式
【问题讨论】:
-
逻辑有问题。将
if (isTPMenabled == true)包裹在if (isTPMenabled == false)中很奇怪,因为它永远不会被调用。添加调试行会让你更容易调试。