如果“自行车”列表中的一个对象包含布尔值 isBoosting,我正在尝试更快地绘制线()。当列表包含两辆自行车时,结果是两辆自行车似乎都在加速,而其中只有一辆自行车“正在加速”。有谁知道为什么?如果对象不包含 isBoosting 的 true 值,线程不应该“移动”更慢吗?
foreach (LightBike b in bikes) //draw bikes
{
if (b.isBoosting && b.boostCounter > 0) //player is boosting
{
Thread.Sleep(GAME_SPEED - 5);
b.boostCounter--;
if (b.boostCounter == 0)
{
b.isBoosting = false;
b.boostCounter = 20;
}
}
else
{
Thread.Sleep(GAME_SPEED);
}
canvas.DrawLine(new Pen(b.color, BIKE_SIZE) { EndCap = System.Drawing.Drawing2D.LineCap.Square }, b.location, b.getNextLocation());
}