我有一個構成2D網格的像素陣列,我想隨着時間的推移將這些像素向右和向左移動......但是我一直提出的循環效率很低,並且不允許在改變運動方面有很大的擴展。任何想法如何改善我已經有的東西將不勝感激。提高循環效率/可擴展性
while (true)
{
for (float i = 0; i < x; i++)
{
foreach (Pixel p in pixels)
{
p.move(10, 0);
}
}
for (float i = 0; i < x * 2; i++)
{
foreach (Pixel p in pixels)
{
p.move(-10, 0);
}
}
for (float i = 0; i < x; i++)
{
foreach (Pixel p in pixels)
{
p.move(10, 0);
}
}
}
編輯:在代碼對不起有一個誤差爲-10第一個for循環向右移動的所有像素所需的環路中間,第二移動他們回到原點,然後到左邊,第三循環然後將它們移回原點。
你不應該使用浮動。 – SLaks 2010-10-13 14:58:53
無限循環是你的第一個問題...... – JohnFx 2010-10-13 14:59:59
目前只是爲了簡單起見,因爲x是一個浮點數,並且將被改變。 – philbert 2010-10-13 15:02:50