如何通过Graphics.DrawImage()绘制位图而不闪烁

时间:2017-03-26 07:47:56

标签: c# optimization graphics bitmap

我正在制作一个简单的C#游戏。我尝试使用PictureBox作为精灵,但它没有转换,所以我不得不使用Graphics。问题是当图像被绘制太多次时图像闪烁。 这是代码:

public partial class GameWindow : Form
{
    Bitmap HeroIdle = Properties.Resources.Ава;
    int HeroX = 15;
    int HeroY = 15;
    public GameWindow()
    {
        InitializeComponent();
    }

    private void Painted(object sender, PaintEventArgs e)
    {
        e.Graphics.Clear(BackColor);
        e.Graphics.DrawImage(HeroIdle, new Point(HeroX, HeroY));
    }

    private void Key_IsDown(object sender, KeyEventArgs key)
    {
        if(key.KeyCode == Keys.Right)
        {
            HeroX += 4;
        }
        Invalidate();
    }
}

0 个答案:

没有答案