【发布时间】:2020-04-15 13:14:48
【问题描述】:
编辑:我使用下面的代码修复了它。
我正在尝试做一个简单的 if 语句来查看玩家是否接近火力。如果他在火附近并且没有按下钥匙,他会受到所示的伤害。这完美地工作。但是,如果按键被按下,玩家仍然会受到伤害。
损坏布尔值在类上方定义为static bool damage = false;
if (isPlaying)
{
player.Stop();
Game.LocalPlayer.Character.IsFireProof = false;
}
else
{
player.PlayLooping();
Game.LocalPlayer.Character.IsFireProof = true;
}
当玩家靠近着火地点并且按键被按下时我应该怎么做才能不受到伤害?
【问题讨论】:
-
向我们展示 Game.IsKeyDown(Settings.SCBA) 的代码
-
这是什么;
locationData.GoToPosition它与“火”有什么关系,为什么使用 distancesquared 而不是 distance? -
locationData.GoToPosition是火的实际位置。这样可行。我很确定,就好像我靠近我会受到伤害一样。 Settings.SCBA 的代码是一个使用 windows 媒体播放器播放声音效果的简单类。它像那样激活if (Game.IsKeyDown(Settings.SCBA)) { SCBA.PlaySound(); }它使用默认的声音播放器 -
听起来
Game.IsKeyDown(Settings.SCBA)没有返回true。要进行测试,请将其替换为if(true) { damage = false; } else { .... }如果这样可以防止损坏,您必须弄清楚为什么IsKeyDown没有按预期工作。
标签: c# if-statement keypress