所以我创建了一个游戏和一个脚本,我看起来很好,但是出现了2个编译错误,这是脚本
if (Input.GetKeyDown(KeyCode.C) && movementSpeed = 6.5f)
{
transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
movementSpeed = crouchWalkSpeed;
}
if (Input.GetKeyUp(KeyCode.C) && movementSpeed = 3)
{
transform.localScale = new Vector3(1, 1, 1);
movementSpeed = 6.5f;
}
还有一个
public float movementSpeed = 6.5f;
float crouchWalkSpeed = 3;
所以我没有看到问题,但错误说:
严重级代码描述项目文件行抑制状态 错误CS0019操作员&&&'不能应用于' bool'类型的操作数并且'漂浮'第一人称游戏.CSharp C:\ Users \ desha \ Documents \ First person game \ Assets \ Scripts \ FirstPersonController.cs 52 Active
严重级代码描述项目文件行抑制状态 错误CS0019操作员&&&'不能应用于' bool'类型的操作数并且'漂浮'第一人称游戏.CSharp C:\ Users \ desha \ Documents \ First person game \ Assets \ Scripts \ FirstPersonController.cs 57 Active
答案 0 :(得分:3)
您需要在=
语句中使用两个==
(比较运算符),而不是单个if
(赋值运算符)。
这样的事情:
if (Input.GetKeyDown(KeyCode.C) && movementSpeed == 6.5f)
而且:
if (Input.GetKeyUp(KeyCode.C) && movementSpeed == 3)