我将如何创建一个语句,其中我在c#中生成2个不同的变量

时间:2016-10-29 02:38:27

标签: c# unity3d

所以我创建了一个游戏和一个脚本,我看起来很好,但是出现了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

1 个答案:

答案 0 :(得分:3)

您需要在=语句中使用两个==(比较运算符),而不是单个if(赋值运算符)。

这样的事情:

if (Input.GetKeyDown(KeyCode.C) && movementSpeed == 6.5f)

而且:

if (Input.GetKeyUp(KeyCode.C) && movementSpeed == 3)