C#Picturebox重置

时间:2016-08-27 19:31:19

标签: c# .net rotation

我正在制作一个简单的游戏而且我坚持使用角色轮换。 我用箭头键进行了一个简单的控制但没有旋转。 然后我使用RotateFlipType函数让我的角色旋转,但他继续在同一个键上旋转。因此,每次按下不同的键时,我都需要重置图片框图像,然后向右旋转。

void Rotate(string a)
    {
        switch (a)
        {
            case "up":
                if (rotation != "up")
                {
                    rotation = "up";
                    pb_sprite.ImageLocation = null;
                    pb_sprite.ImageLocation = @"Images/tenk.png";
                }
                break;
            case "down":
                if (rotation != "down")
                {
                    rotation = "down";
                    pb_sprite.ImageLocation = null;
                    pb_sprite.ImageLocation = @"Images/tenk.png";
                    pb_sprite.Image.RotateFlip((RotateFlipType.Rotate180FlipNone));
                }
                break;
        }
    }

“up”案例运作良好。但是当代码轮换时我确实收到错误。

System.NullReferenceException

我知道我删除了该位置。但我把它放回去(重置旋转)。为什么编译器仍然认为没有图像? 谢谢。

1 个答案:

答案 0 :(得分:1)

尝试

case "down":
            if (rotation != "down")
            {
                rotation = "down";
                pb_sprite.ImageLocation = null;
                pb_sprite.ImageLocation = @"Images/tenk.png";
                pb_sprite.Load();
                pb_sprite.Image.RotateFlip((RotateFlipType.Rotate180FlipNone));
            }
            break;