【发布时间】:2016-07-15 10:34:00
【问题描述】:
有时我发现自己编写了一个如下所示的 bool 方法:
public bool isRunning()
{
if (!(move == Moving.None) && staminaRegan == true)
{
if (keyState.IsKeyDown(Keys.Space))
{
EntityAnimation.interval = 10;
return true;
}
else
{
EntityAnimation.interval = 65;
return false;
}
}
else
{
EntityAnimation.interval = 65;
return false;
}
}
(顺便说一下,这是 XNA)如您所见,我有一个 bool isRunning 语句,其中我做了一个 if 语句,我在其中检查是否(玩家正在移动)&&(恢复耐力,一旦耐力达到,它就设置为 false值小于 6.0f) 然后我简单地检查是否按下了 Space,如果是,那么我的 Animation 更快(间隔越小,spritesheet 变化越快),然后它发送 true 值,这意味着 Player 正在运行,否则我不会导致 Space 是没有按下。
然后我必须在第一个 if 语句之外重复这个“else”代码,以便如果玩家没有移动或他的耐力 Regan 为假,它会发送玩家没有运行;
所以我只是想知道这种 bool 方法是否被认为是一种不好的做法(在嵌套 if 中返回 true 和 false 值,然后在嵌套 if 之外返回 false 并重复相同的代码)?
【问题讨论】:
标签: c# performance xna