如何在Rigibody2D上统一检查重力秤?

问题描述

我有一个名为playerMovement的脚本,并在其中添加了不同的作用力来使玩家移动。我在x轴上添加力没有问题,但是,当用户按下空间时,我想翻转重力。

我正在通过rb.gravityScale = -1;来执行此操作,效果很好,但是我想检查重力是正还是负,以便可以从那里进行调整。

这就是我放进去时遇到的问题

if(Input.GetKey("space")){
    if(rb.gravityScale = 1){
        rb.gravityScale = -1;
    }
    else {
        rb.gravityScale = 1;
    }
}

我说错了

不能将类型'float'隐式转换为'bool'

解决方法

很简单。检查相等性时,需要使用==而不是=。 =代表价值分配。

if(Input.GetKey("space")){
    if(rb.gravityScale == 1){
        rb.gravityScale = -1;
    }
    else {
        rb.gravityScale = 1;
    }
}