2016-08-27 7 views
0

Ich mache ein einfaches Spiel und ich bin fest mit der Rotation der Charaktere. Ich machte eine einfache Steuerung mit den Pfeiltasten, aber ohne Rotation. Dann habe ich die RotateFlipType-Funktion verwendet, um meinen Charakter zu drehen, aber er rotierte weiter mit der gleichen Taste. Also muss ich das PictureBox-Bild jedes Mal neu einstellen, wenn eine andere Taste gedrückt wird und dann in die richtige Richtung drehen.C# Picturebox Reset

Der "up" Fall funktioniert gut. Aber ich bekomme einen Fehler, wenn der Code zur Rotation kommt.

System.NullReferenceException 

Ich bekomme es, dass ich den Standort entfernt. Aber ich lege es zurück (zum Zurücksetzen der Rotation). Warum denkt der Compiler immer noch, dass es kein Bild gibt? Danke.

Antwort

1

Versuchen

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

Das funktioniert ganz gut, danke. Gibt es eine Möglichkeit für die Rotation um das Bildbox-Zentrum herum? – Morsus

+0

Gut zu helfen! Hmmm ... Ich benutze PB zum Zuschneiden, Rotieren und Ändern der Größe ohne Probleme. Scheint mir, das Bild hat sich um die Mittelachse gedreht. Wenn das Bild rechteckig ist, wird die 90-Grad-Drehung natürlich die Größe/das Verhältnis von Höhe zu Breite ändern. Was passiert mit deinen Bildern beim Umdrehen? –

+0

Mein Bild ist 60x110 und ich will es nicht umgedreht: / – Morsus