【发布时间】:2015-05-31 00:15:24
【问题描述】:
这个问题与 Unity3D C# 以及 AppGameKit C++ 有关。
如下例所示,是否建议使用布尔条件调用函数/语句一次?
Unity3D C#
bool _call = false;
void Update()
{
if (!_call)
{
call = true;
// statements
}
}
AGK C++
bool _call = false;
void app::Loop(void)
{
if (!_call)
{
_call = true;
// statements
}
}
我问这个是因为以下原因:
我在 Unity 和 AGK 论坛上都读到过,在更新每一帧的 Update() 函数中使用 if-else / switch 条件应尽可能少。
我很好奇是否有任何其他方式可以在 Update() 函数中调用语句/函数时只调用它们一次。如果没有,我可以让程序在 Update() / Loop() 函数中间返回到程序的 Start() / Begin() 部分,以便让函数/语句在那里被调用一次。
【问题讨论】:
-
_call到底在做什么?这是一个非常不具描述性且模棱两可的名称。 -
“使用 if-else / switch 条件应该尽可能少” - 我认为你的意思是 if (.. .) 否则如果。 answers.unity3d.com/questions/337248/using-else-if.html
if () else太局限了。而且一般来说,不仅仅是Update()