【发布时间】:2021-11-18 17:10:40
【问题描述】:
我是编码新手,所以我知道如何递增的唯一方法是 += 和 ++
如果不是PC附近有错误,请见谅,稍后会更正。
public string variable1
public int variable2
if(variable1.Contains ("24:59")
variable2 += 1
- 这应该返回 1 而不是返回 7
- 变量 1 是我发现女巫从 0:00 开始并在 24:59 重新开始的时钟脚本
- 变量 2 表示时钟到达 24:59 的日期,它应该加 1,因此应该是第 1 天、第 2 天、第 3 天
- 我的问题似乎是 24:59 的时间足够长,可以将值增加到 7 而不是 1
我希望这个 If 语句在它运行 1 次后停止
public bool testBool = false;
public int testInt;
if (testBool == true)
{
testInt++;
}
我的主要问题是如何停止一个持续时间超过预期的 if 语句
【问题讨论】:
-
阅读“边缘敏感”与“电平敏感”触发器。为了检测新一天的时间翻转,更强大的设计将保存(记住)时钟的先前值,并检查新值是否小于先前值。每次翻转只会发生一次。
-
您确定运行该代码的方法没有被多次调用吗?此外,您的代码存在语法错误且不完整。 if 语句肯定在方法中,对吧?
-
顺便说一句,您的时钟可能会在 23:59 翻转。到达 24:59 是非常不寻常的,需要一天 25 小时。
-
这段代码听起来像是在循环中运行,但我不需要这样做。您似乎在做一个简单的区别,知道值 #1 和值 #2 之间发生了多少天
-
由于缺少实际时间码,代码不完整。我错了 24:59 我 23:59。但我在 1:00 测试它以节省时间。当它到达 1:00 时,它的真实时间足以增加 7 次,但如果我让它继续,它将在 11:00 从 7 增加到 13。我只是在寻找一种可以破坏 if 语句的方法,这样它就不会超过 1。但我稍后会添加代码。
标签: c# visual-studio unity3d