我正在制作一个简单的游戏而且我坚持使用角色轮换。 我用箭头键进行了一个简单的控制但没有旋转。 然后我使用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
我知道我删除了该位置。但我把它放回去(重置旋转)。为什么编译器仍然认为没有图像? 谢谢。
答案 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;