C# windows窗体游戏的好计时器
几天前我开始做额外的家庭作业。我想创建一个游戏,在其中你应该避免随机对象。好的,我有所有的工作,但是 我的方法C# windows窗体游戏的好计时器,c#,winforms,animation,C#,Winforms,Animation,几天前我开始做额外的家庭作业。我想创建一个游戏,在其中你应该避免随机对象。好的,我有所有的工作,但是 我的方法 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,
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 )
}
每一步我应该改变7像素的位置,当我在1像素上改变时-我想我的应用程序有一个很好的帧速率(通过视觉)
现在计时器有11毫秒的间隔和两个线程。睡眠(5)可以获得很好的帧速率,但我可能有15到30 fps,当我想要至少静态30+fps时。
你能给我换点东西吗?当然,我知道我的代码可能是坏的或其他东西。如果您的代码正常工作,并且您希望有人对其进行检查,那么这不是正确的论坛。我建议你把它贴在网上。好运气,是我的错。我一小时前刚访问过这个网站。因为我的学校老师不能给一些利润。我知道我应该使用codereview,sryTimer的分辨率约为20-30ms。设置间隔=11ms过于乐观。它也只是保证不更快,不精确。而且:无论您使用哪个计时器,winforms中的任何动画都会不稳定。我看到了有关winforms multitimer的信息,所以,即使使用这个计时器,我也会有麻烦吗?我投票将这个问题作为离题题题来结束,因为它更适合我
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);
}