2016-08-27 2 views
0

Я делаю простую игру, и я застреваю с вращением персонажа. Я сделал простой контроль со стрелками, но без вращения. Затем я использовал функцию RotateFlipType, чтобы мой персонаж вращался, но он продолжал вращаться на одном и том же ключе. Поэтому мне нужно сделать сброс образа фотоаппарата каждый раз, когда нажимается другой ключ, а затем поворачивайте его в правильном направлении.C# Picturebox Reset

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; 
     } 
    } 

Дело «вверх» отлично работает. Но я получаю сообщение об ошибке, когда код приходит к вращению.

System.NullReferenceException 

Получалось, что я удалил место. Но я вернул его (для сброса вращения). Почему компилятор все еще думает, что нет изображения? Спасибо.

ответ

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; 
+0

Это работает очень хорошо, спасибо. Есть ли способ поворота вокруг центра изображения? – Morsus

+0

Рад помочь! Хммм ... Я использовал PB для обрезки, поворота и изменения размеров без проблем. Кажется, изображение повернулось по центральной оси. Если изображение прямоугольное, 90-градусное вращение, конечно, изменит размер/отношение высоты к ширине. Что происходит с вашими изображениями при переворачивании? –

+0

Мое изображение 60x110, и я не хочу, чтобы он перевернулся: / – Morsus