Как вы используете цикл C# XNA While с Visual Studio 2010?

Я делаю программу на С# и пытаюсь просто заставить черепаху двигаться по экрану. Я попытался сделать цикл while:

while (stop <= 60)
{
   turtleRect.X -= 1;
   stop++;
}

Что должно произойти, так это то, что черепаха медленно перемещается по экрану. Работает, кроме одного. Когда я запускаю программу, цикл while завершается до того, как программа открывается. Он ждет, пока не завершится цикл while, чтобы открыться. Когда он открывается, черепашка уже на 60 пикселей левее. Есть ли настройка, чтобы программа открывалась, а затем запускалась? Любая помощь приветствуется.


person CJ Cohorst    schedule 08.03.2012    source источник
comment
Это вопрос для gamedev.stackexchange.com.   -  person Ricardo Souza    schedule 09.03.2012
comment
У вас должен быть цикл отрисовки для вашей программы, вот куда это нужно. Кроме того, если это весь ваш цикл, это произойдет так быстро, что вы даже не заметите этого. Расчеты будут производиться в миллисекундах.   -  person John Koerner    schedule 09.03.2012


Ответы (1)


Это происходит потому, что это оператор, и он «останавливает» выполнение программы до тех пор, пока не завершит свой цикл.

Вместо этого вы можете решить эту проблему, используя таймер.

Если это XNA, у вас есть игровой цикл (обновление), чтобы делать такие вещи. Просто переместите код из вашего while в функцию обновления.

person Ricardo Souza    schedule 08.03.2012