c# - 如果带有 Game.IsKeyDown 的语句未按预期工作
问题描述
编辑:我使用下面的代码修复了它。
我正在尝试制作一个简单的 if 语句来查看玩家是否接近火力。如果他在火附近并且没有按下钥匙,他会受到所示的伤害。这完美地工作。但是,如果按键被按下,玩家仍然会受到伤害。
损坏布尔值在类上方定义为static bool damage = false;
if (isPlaying)
{
player.Stop();
Game.LocalPlayer.Character.IsFireProof = false;
}
else
{
player.PlayLooping();
Game.LocalPlayer.Character.IsFireProof = true;
}
当玩家靠近着火地点并且按下键以免受到伤害时,我应该怎么做?
解决方案
这里没有太多内容可供我们继续,但我认为你在这里混淆了你的逻辑。
Key press 确保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;
}
}
** 编辑 **
好的。根据您的评论。
Game.IsKeyDown(...)
如果按键被按下,我不确定是否返回 true。
由于将函数调用放在逻辑语句中并不是很好的做法,因为它们很难调试尝试:
if (Vector3.DistanceSquared(Game.LocalPlayer.Character.Position, locationData.GoToPosition) < 10f )
{
bool damage != Game.IsKeyDown(Settings.SCBA);
if( damage == true)
{
Game.LocalPlayer.Character.Health -= 1;
}
}
如果按下或释放该键没有任何效果,那么Game.IsKeyDown
就没有按照您的预期进行。
推荐阅读
- echo - echo 显示我要执行的命令
- python - Django DB 迁移添加新列,但不要编辑表中已有的值
- html - 按钮没有引导我进入第二页
- python - Django / Wagtail 中的大型嵌套层次结构:育儿还是分类?
- python-3.x - 为什么我不断得到我想要的输出和不需要的“无”
- c++ - 如何简化这个 OpenGL .obj 模型加载器示例?
- android - Firebase 数据库子值显示为空
- java - ¿ 实际上 Git 中的工作目录是什么?
- javascript - 无法制作:焦点或点击动画vue、gsap、css
- react-native - React-Native-Expo:登录时,setState