Несколько дней назад я начал заниматься внебрачной работой. Я хотел создать игру, в которой вы должны избегать случайных объектов. Хорошо, у меня есть все рабочие игры, но
мой метод
private void Game_form_Paint(object sender, PaintEventArgs e)
{
for ( int i =0; i < Bonus.Count; ++i) // Bonus - private list ( not more than 5)
{
e.Graphics.DrawImage(bonus, Bonus[i].Object_Pos);
}
for(int i = 0; i < Objects.Count; ++i) // Objects - private list ( not more than 10)
{
e.Graphics.DrawImage(Kunai, Objects[i].Object_Pos);
}
e.Graphics.DrawImage(Main, player.Player_Pos); // Player ( only one )
}
и у меня есть таймер:
private void Drawing_Tick(object sender, EventArgs e)
{
Bonus_move(); // method for changing objects position in Bonus list
Player_move(); // method for changing player position
Objects_move(); // method for changing objects position in Objects list
Thread.Sleep(5);
Invalidate();
Thread.Sleep(5);
}
За 1 шаг я должен изменить положение на 7 px, когда я изменяю на 1 px - я думаю, у моего приложения хорошая частота кадров (на первый взгляд)
Прямо сейчас таймер имеет интервал 11 мс и два Thread.Sleep (5) для хорошей частоты кадров, но у меня может быть от 15 до 30 кадров в секунду, когда я хочу по крайней мере статические 30 + кадров в секунду.
Не могли бы вы порекомендовать мне что-то изменить? Конечно, я понимаю, что мой код может быть плохим или что-то еще.