如果Game.IsKeyDown的If语句未按预期工作

问题描述 投票:0回答:1

我正在尝试制作一个简单的if语句,以查看玩家是否靠近火场。如果他靠近火炉而没有按下键,则会受到指示的损坏。这很完美。但是,如果按下该键,则玩家仍会受到伤害。

损坏布尔值在类上方定义为static bool damage = false;

        if (Vector3.DistanceSquared(Game.LocalPlayer.Character.Position, locationData.GoToPosition) < 10f )
        {
            if (Game.IsKeyDown(Settings.SCBA))
            {
                damage = false;
            }
            else
            {
                damage = true;
                Game.LocalPlayer.Character.Health -= 1;

            }
            damage = !damage;

        }
c# if-statement keypress
1个回答
0
投票

我们在这里没什么要继续的,但是我认为您在这里混淆了您的逻辑。

[按键确保仅将Game.LocalPlayer.Character.IsFireProof = true用于此操作,并且可能超出您到目前为止提供给我们的代码。

然后您的代码将是:

if (Vector3.DistanceSquared(Game.LocalPlayer.Character.Position, locationData.GoToPosition) < 10f )
{
    if( Game.LocalPlayer.Character.IsFireProof != true)
    {            
        Game.LocalPlayer.Character.Health -= 1;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.