Денис Asked:2020-09-27 17:28:35 +0800 CST2020-09-27 17:28:35 +0800 CST 2020-09-27 17:28:35 +0800 CST If 条件的奇怪行为。Unity3d 772 有一个连接到按钮的简单代码。 public void Inc() { if (x < 5) { x++; Debug.Log(x); } Debug.Log("Done"); } 理论上,我希望在点击按钮五次后,会出现 Done 消息。但是完成,在 X 每增加 1 个单位后出现。 unity3d 1 个回答 Voted Best Answer Александр Даниловский 2020-09-27T18:20:07+08:002020-09-27T18:20:07+08:00 public void Inc() { if (x < 5) { x++; Debug.Log(x); } else Debug.Log("Done"); } 代码中的 Inc() 方法始终将消息“完成”打印到日志中,因为如果条件 (x < 5) 为真,则没有退出。因此,您需要在 if 之后使用 else,或者在 Debug.Log(x) 之后使用 return。 刚才我注意到了“五次点击”。在这种情况下,在检查 x<5 之后,您还应该检查是否等于 5。然后,在 Inc() 的一次执行中,可以递增并显示任务已完成的消息。 if (x < 5) { x++; Debug.Log(x); } if (x == 5) Debug.Log("Done");
代码中的 Inc() 方法始终将消息“完成”打印到日志中,因为如果条件 (x < 5) 为真,则没有退出。因此,您需要在 if 之后使用 else,或者在 Debug.Log(x) 之后使用 return。
刚才我注意到了“五次点击”。在这种情况下,在检查 x<5 之后,您还应该检查是否等于 5。然后,在 Inc() 的一次执行中,可以递增并显示任务已完成的消息。